http://www.perlmonks.org?node_id=303187


in reply to Odd behavior: CGI and warnings

Hello MichelleM

My guess is that either you access your undeclared variable before:

print "content-type: text/html\n\n";

... or that you have troubles with buffering. Generally error messages are flushed right off and other printing is buffered

This problem would manifest itself in the error log as something line "Premature end of Script Headers "

This may be clearer if you run your script at the command prompt and your warning comes before your header

You can turn off buffering by setting  $|=1

There is a really good nodo on buffering problems: but I can't find it... Suffering from Buffering

update: there is some apache 2.0 buffering discussion here