Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

(tye)Re: open, sleep, & print together cause an error

by tye (Sage)
on Feb 10, 2001 at 04:12 UTC ( #57528=note: print w/replies, xml ) Need Help??

in reply to open, sleep, & print together cause an error

Well, yes, if you are open to sleeping "together" and it ends up in print, well, it can cause more than an "error"... (:

Seriously though, $|++ only makes the currently selected output file handle non-buffering (STDOUT, by default). You can do the Perl4-ish thing (updated slightly to use my):

{ my $selected= select(LOG); $|++; # Unbuffer output to LOG select( $selected ); }

Or you can do:

require IO::Handle; LOG->autoflush(1);

which accomplishes the same thing.

        - tye (but my friends call me "Tye")

Replies are listed 'Best First'.
Re: (tye)Re: open, sleep, & print together cause an error
by zeno (Friar) on Feb 10, 2001 at 04:19 UTC

    tye, you are a smart, smart person. That worked. Here's what I ended up with:

    use strict; use warnings; require IO::Handle; # <--- new open LOG,">foo.log" or die "can't open foo.log: $!"; <b>LOG->autoflush(1);</b> # <--- new while(1) { print LOG (localtime).": something\n"; sleep(5); }

    Thanks a lot for your help, tye. -zeno

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://57528]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2023-12-10 04:19 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (38 votes). Check out past polls.