[linux-l] sleep (Perl/Python)

Baerwaldt, Ralf Ralf.Baerwaldt at Dresdner-Bank.com
Mi Mai 29 07:51:13 CEST 2002


> #! /usr/bin/perl -w
> $test = 1;
> do {
>     print  "test";
__________________^
hier fehlt '\n'

>     sleep 2;
> } until $test == 0;
> 
> Ich hatte erwartet das alle zwei Sekunden dein "test"
> ausgegeben wird. stattdessen passiert garnichts.

Das stimmt nicht, du hast nur nicht lange genug
gewartet. Lass das Programm mal ohne sleep laufen
und du siehst die Ausgabe.
Perl wartet entweder auf ein \n oder bis der
Ausgabepuffer voll ist. Erst dann wird der
Puffer geflushed.

> #! /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. 
> stattdessen passiert fünf Sekunden nichts und dann wird 
> "test1
> test2
> test3"
> aus gegeben.

hmmm, also ich habs gerade mal laufen gelassen.
Bei mir passiert, was du erwartet hast.

Gruss Ralf Baerwaldt, BBCONS GmbH, http://www.bbcons.de



Mehr Informationen über die Mailingliste linux-l