$ perl -e ' print "Expecting STDOUT\n"; print STDOUT "Specifying STDOUT\n"; print STDERR "Specifying STDERR\n"; print "Current filehandle: ", select(), "\n"; my $orig_fh = select STDERR; print "New filehandle: ", select(), "\n"; print "Expecting STDERR (after select STDERR)\n"; select $orig_fh; print "Original filehandle: ", select(), "\n"; print "Expecting STDOUT (after select \$orig_fh)\n"; ' 1> x.out 2> x.err $ cat x.out Expecting STDOUT Specifying STDOUT Current filehandle: main::STDOUT Original filehandle: main::STDOUT Expecting STDOUT (after select $orig_fh) $ cat x.err Specifying STDERR New filehandle: main::STDERR Expecting STDERR (after select STDERR)