Thread Windows: Pipes & STDIN (12 answers)
Opened by Gast at 2005-06-03 11:55

Dubu
 2005-06-03 13:32
#55308 #55308
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
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.

View full thread Windows: Pipes & STDIN