[linux-l] sleep (Perl/Python)

Steffen Dettmer steffen at dett.de
Mi Mai 29 10:47:40 CEST 2002


* Olaf Radicke wrote on Tue, May 28, 2002 at 18:16 +0000:
> #! /usr/bin/perl -w
> $test = 1;
> do {
>     print  "test";
>     sleep 2;
> } until $test == 0;

> Ich hatte erwartet das alle zwei Sekunden dein "test"
> ausgegeben wird. stattdessen passiert garnichts.

Normalerweise buffert Unix Zeilenweise, das heißt, es wird erst
nach "\n" wirklich geschrieben. Man kann das abschalten, wenn man
als erste Zeile schreibt:

$| = 1;

> #! /usr/bin/perl -w
> print  "test1\n";
> sleep 2;
> print  "test2\n";
> sleep 3;
> print  "test3\n";
>    
> Dachte ich "test1" wird sofort gedruckt, "test2" nach 
> zwei Sekunden und "test3" nach weiteren drei Sekunden. 

Bei mir geht das. Kann sein, daß Du bei Win \r\n schreiben mußt,
bei MAX \n\r IIRC. Weiß nicht genau.
 
oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l