PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl in der shell hochzählen



craano
28-10-2006, 13:51
Hallo,
ich versuche auf der shell eine dynamische Ausgabe zu erstellen.

Aber es will nicht so wirklich wie es will....


while($a<100){
print "$b";
select(undef, undef, undef, 0.5);
print "\r";
$a++;
$b = $a + 1;
}
print"\n";

oder


while($a<100){
print "$b";
sleep(1);
print "\r";
$a++;
$b = $a + 1;
}
print"\n";


Ein beiden Fällen wartet das script die entsprechenden Sekunden und gibt mir dann das Gesamergebnis aus (100).

Wieso wird auf der shell nicht von 1 bis 100 hochgezählt und dies auch angezeigt.

Kennt jemand einen anderen Ansatz wie man soetwas realisieren kann?

Grüße.
craano.

michael.sprick
28-10-2006, 14:52
Bei solchen Dingen muss die Ausgabe ungepuffert stattfinden. Dazu setzt Du folgendes an den Anfang des Programms:


$|++;