Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: How to UPDATE rather than append to STDOUT?

by maverick (Curate)
on Jun 05, 2002 at 15:09 UTC ( #171857=note: print w/replies, xml ) Need Help??


in reply to How to UPDATE rather than append to STDOUT?

On any of the various Un*x you can use this code. This may work on windows as well (dunno, I don't use it)
$|++; for ($i=0; $i<1000; $i++) { print "\r$i"; } print "\n";
The first line turns off buffering, I suspect you want to see the numbers increment exactly as they happen.

Use "\r" to send the cursor back to the beginning of the line. If you use \b to backspace one character, you'd have to keep up with how long $i has become, and/or add/remove \b's if you change the text of your status line. Send the cursor to the front of the line, reprint the whole thing and be done with it.

Print a \n at the bottom of the loop. Otherwise your terminal prompt (or the next line of output) will get displayed at the end of the last status line and just look plain weird (especially if it starts with a number :) ).

HTH

/\/\averick
OmG! They killed tilly! You *bleep*!!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://171857]
help
Chatterbox?
[davido]: If you ever doubt the progress made in CPU technology: I have a script that runs in 2m20s on a Core2-Duo with 8GB RAM and an SSD. On an i7-2700K, also with SSD, same script runs in 12.5s.
[davido]: That's a 2nd Gen i7, but it is OC'ed from 3.5GHz to 4.6. ...things break down for awhile following 2nd gen though; the 2nd gen i7 2700k beats my Haswell (4th gen) i7 laptop by about 30%

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2017-11-22 15:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (326 votes). Check out past polls.

    Notices?