I've seen some horrific code written in Perl, but I can't make head nor tail of this one:
It's a nasty little idiom for setting autoflush on a filehandle other than STDOUT.
select() takes the supplied filehandle and (basically) replaces STDOUT with it, and it returns the old filehandle when it's done.
(select($s),$|=1) redirects the filehandle (remember
select returns the old one), and sets autoflush (
$| = 1). It does this in a list (
(...)) and returns the first value (which is the result of the
select call - the original STDOUT), and then passes that back into another
select to reinstate the original STDOUT filehandle. Phew.
But now you understand it (well, maybe ;)), do this instead:
use IO::Handle; $fh->autoflush;