Thread Pipes: kleines Verständnis Problem
(4 answers)
Opened by sid burn at 2006-06-19 23:40 Quote Erstmal Danke für die Antwort. Ich habe noch etwas weiter getestet und ich glaube ich bin auf die Lösung des Problems gekommen. (Beziehungsweise war es eher ein Denkfehler von mir) Noch immer gibt es ja einen unterschied zwischen: Das liest erst alles ein, und gibt dann alles aus. Gibt sofort alles aus, durch deine Antwort habe ich nochmal etwas weiter getestet. Code: (dl
)
1 open GREP, "|-", "grep -r hostname /etc"; Dieses Stückchen Code gibt trotzdem das ergebnis des greps zurück, obwohl ich das nirgendswo anfordere. Anscheind ist es so, dass wenn ich jedesmal "<GREP>" aufrufe mein Kommando aufgerufen wird. Da ich aber nichts an <GREP> übergebe wird der Befehl ganz normal verarbeitet. Und Lesend davon zugreifen geht auch nicht. Da ich also nichts auslese ist es praktisch das selbe als würde ich den Befehl einmal ausführen, und danach wieder zurück zu meinen Perl Programm kommen, es ist also logisch warum ich die Ausgabe sofort sehe, vom verhalten her ist es praktisch das selbe als hätte ich system() benutzt. Der Beweis das ich ja nichts auslese ist, dass @data Leer bleibt. Eigentlich ist das ganze identisch mit diesem Code: Code: (dl
)
echo "" | grep -r hostname /etc Irgendwie wird mir das ganze Konstrukt jetzt einleuchtend :blush: Und Sinn ergibt es nicht wirklich das Pipe vorne an zu schreiben, und es ist wohl auch nicht das was jemand möchte. (Jedenfalls in diesem Fall) ^^ Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|