% perl
close STDERR;
die "ZOMG, infinite loop!";
__END__
%
####
% perl
close STDOUT;
print "Generate error!\n";
__END__
%
####
% perl -w
close STDOUT;
print "Generate error!\n";
__END__
print() on closed filehandle STDOUT at - line 2.
%
####
% perl -w
close STDOUT; close STDERR;
print "Generate error!\n";
__END__
%
####
% perl -w
my $loop; $SIG{__WARN__}= $loop= sub {
$SIG{__WARN__}= $loop;
print STDERR "Got: ", @_;
print "Warn: ", @_;
};
close STDOUT;
print "Generate warning!\n";
die "Done.\n";
__END__
Got: print() on closed filehandle STDOUT at - line 7.
print() on closed filehandle STDOUT at - line 4.
Done.
%