# minimum code to illustrate point # based on example in 'CGI programming with Perl' use CGI; use CGI::Carp qw( fatalsToBrowser set_message ); $CGI::HEADERS_ONCE = 1; BEGIN { sub carp_error { my $message = shift; error( $message ) } CGI::Carp::set_message( \&carp_error ) } my $q = new CGI; # time passes # the next line wouldn't cause a duplicate header # die; print $q->header( 'text/html' ); # this next line would # die; # send the broswer a message print "test"; exit; sub error{ # die nicely exit } #### print $q->header( 'text/html' );