$| = 1; affects the currently selected handle. This is the handle print, printf and say use if you don't provide one., and it defaults to STDOUT.
In fact, ->autoflush changes the currently selected handle to the invocant, sets $|, then restores the originally selected handle.
| [reply] [d/l] [select] |
Hello syphilis,
differences? perlvar says that $|++ flush right away and after every write or print on the currently selected output channel while *STDOUT->autoflush only affect STDOUT your example instead any select -ed FH and so also STDERR in case of warn or die
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
| [reply] [d/l] [select] |
See IO::Handle. There's no difference, just readability :-)
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
| [reply] [d/l] |
| [reply] [d/l] [select] |