package MY_STDOUT; use strict; my $c = 0; my $malformed_header = 0; open(TRUE_STDOUT, '>', '/dev/stdout'); tie *STDOUT, __PACKAGE__, (*STDOUT); sub TIEHANDLE { my $class = shift; my $handles = [@_]; bless $handles, $class; return $handles; } sub PRINT { my $class = shift; if (!$c++ && @_[0] !~ /^content-type/) { my (undef, $file, $line) = caller; print STDERR "Missing content-type in $file at line $line!!\n"; $malformed_header = 1; } return 0 if ($malformed_header); return print TRUE_STDOUT @_; } 1; #### use MY_STDOUT; print "content-type: text/html\n\n"; #try commenting out this line print "\n"; print "\n"; #### open(TRUE_STDOUT, '>', '/dev/stdout'); tie *STDOUT, __PACKAGE__, (*STDOUT); #### my $MY_STDOUT = MY_STDOUT->new();