use strict;
use warnings;
my $out ;
{ local *STDOUT ;
local *STDERR ;
open STDOUT, '>>', \$out or die "Can't open STDOUT: $!"; # line 28
open STDERR, '>>', \$out or die "Can't open STDERR $!"; # line 29
select STDOUT; $| = 1; # make unbuffered
select STDERR; $| = 1; # make unbuffered
print "message1\n" ;
warn "error1\n" ;
print "message2\n" ;
}
print "Result: $out \n" ;
####
Use of uninitialized value in open at ./t2.pl line 29.
Result: message1
error1
message2
####
use CGI qw(:standard append add_parameter);
use strict ;
use warnings ;
print CGI::header() ;
my $out ;
{ local *STDOUT ;
local *STDERR ;
open (STDOUT,">>", \$out) ;
open (STDERR,">>", \$out) ;
select STDOUT; $| = 1; # make unbuffered
select STDERR; $| = 1; # make unbuffered
print "message1\n" ;
warn "error1\n";
print "message2\n" ;
}
print "Result: $out\n";
####
$ ./t2.pl
Content-Type: text/html; charset=ISO-8859-1
Use of uninitialized value in open at ./t2.pl line 29.
Result: message1
error1
message2