ÜBerschreiben der Ausgabe
Jochen K.
- perl
Hallo,
ich würde gerne eine Ausgabe immer wieder überschreiben.
Bsp:
print "Hallo 1";
print "Hallo 2";
gibt ja aus:
Hallo 1
Hallo 2
Wie mache ich das nun wenn ich in meiner Kommandozeile erst
Hallo 1 stehen haben will und nach einer Zeit X dann Hallo 2 anstatt dem Hallo 1?
Ich hoffe ich habe mein Problem detailiert genug geschildert.
Danke für eure Hilfe.
Gruß
Jochen
Hallo Jochen,
ich würde gerne eine Ausgabe immer wieder überschreiben.
Bsp:
print "Hallo 1";
print "Hallo 2";
$| = 1;
print "Hallo 1";
sleep (3);
print "\rHallo 2";
Das zweite print schreibt ein carriage return in die Ausgabe, so daß der "Cursor" zum Anfang der Zeile zurückspringt und die erste Ausgabe überschreibt. Allerdings muß die Ausgabe des zweiten print mindestens genau so lang wie die erste sein (eventuell mit Leerzeichen auffüllen).
Um die Ausgabe direkt (d.h. auch ohne Newline) ausgegeben zu lassen, wird zu Beginn die Pufferung mit $| = 1 abgeschaltet.
Grüße,
Peter