in reply to Buffering and output help needed

print "test " . incStart( $Qstart, $Qcount, $Qint ) . "\n";
Prior to the concatenation (the "." operator) incStart() is evaluated. Therefore the print statements in the loop are executed first. Then the concatenation is done ("test " . undef . "\n") and the result ("test \n") handed to print. Last, "test \n" is printed. This has nothing to do with buffering, but with execution order.

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}