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")