On Sat, Apr 21, 2001 at 09:47:08AM -0700, Bill Becker wrote:
> What's the recommended way of flushing output?
> 
> My goal is to display a status message on fairly long running task. A 
> bytewise examination of a large-ish file consumes some CPU, I would 
> like to do something like the spinning wheel, but with |/-\-|
> 
> That would probably mean printing a char, then backspacing, yes?

What you want is to turn on autoflush for the appropriate filehandle.


perldoc perlvar:

       autoflush HANDLE EXPR

       $OUTPUT_AUTOFLUSH

       $|      If set to nonzero, forces a flush right away and
               after every write or print on the currently
               selected output channel.  Default is 0 (regardless
               of whether the channel is actually buffered by the
               system or not; $| tells you only whether you've
               asked Perl explicitly to flush after each write).
               Note that STDOUT will typically be line buffered
               if output is to the terminal and block buffered
               otherwise.  Setting this variable is useful
               primarily when you are outputting to a pipe, such
               as when you are running a Perl script under rsh
               and want to see the output as it's happening.
               This has no effect on input buffering.  (Mnemonic:
               when you want your pipes to be piping hot.)


Ronald

Reply via email to