It's much easier to debug a cgi script if you know anything more than just the fact that it isn't working. There are several ways you can find out what in particular the error is:
- type perl -cT scriptname.cgi (or perl -c scriptname.cgi if you aren't using -T in your script) at the command line. This will tell you whatever errors occur during compilation.
- If you have access to/know where to find the log files for the webserver, you can look in there; the error will generally be recorded. If you don't know, figure it out.
- use CGI::Carp qw( fatalsToBrowser ). It's very useful when you're working on something that may or may not work each time you try it; if it doesn't work you don't have to go looking anywhere to see what went wrong, perl's error messages will be part of the error message you see in your browser. However it's generally not a good idea to leave it in when people are going to be using the site, as the possibility of people seeing error messages is bad security practice.