Thread Windows: Pipes & STDIN
(12 answers)
Opened by Gast at 2005-06-03 11:55
Bei der oben angegebenen Kommandozeile muss es eigentlich funktionieren. Trotzdem rate ich dazu, das "for" gegen ein "while" einzutauschen:
Code: (dl
)
print $_ while (<STDIN>) oder einfacher Code: (dl
)
print while <STDIN> oder Code: (dl
)
print while <> Das "for" wartet naemlich erst, bis die Liste im Argument vollstaendig ist, d.h. bis STDIN geschlossen wurde, waehrend "while" wirklich jede eingehende Zeile sofort ausfuehrt. Das macht einen Unterschied, wenn der Befehl, der die Daten liefert (hier das "dir"), nicht sofort endet, wie z.B. ein "tail -f" oder aehnliches, und ist ausserdem sparsamer mit dem Speicherplatz. |