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:
which accomplishes the same thing.
(but my friends call me "Tye")