http://qs321.pair.com?node_id=10881


in reply to Debugging perl cgi in apache

The most important thing you can do is to run this script from the command-line and make sure that it's not a syntax error, before worrying about what actually gets spit out of it.

Secondly, the most common mistake to cause that error is that the output of your script needs to begin with the text:

Content-type: text/html
followed by a newline and a blank line.

That being said, there are several ways to go about figuring out any remaining problems. First, you could print out debugging messages to the screen and read them that way. Secondly, you could print all debugging messages to STDERR, which is directed to apache's error_log.

If you want to get more into it, you could do something like set the environment variable QUERY_STRING in your shell to the list of your form parameters being passed, and then execute the script from the command line.

I'm probably going too far here, but I think it's important to understand that a CGI is nothing special.. it is just a program run by a certain user, with its output directed to the viewer's browser.