use IO::Handle; print "\n2\n"; # \n forces a flush, 2 printed immediately print 1; # doesn't print, puts 1 in the buffer sleep 1; # still nothing printed STDOUT->autoflush(1); # buffered 1 printed print "\n"; # prints immediately sleep 1; print 1; # prints 1 immediately sleep 1; print "\n";