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.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.