The next time you run into this kind of problem, try CGI::Debug (available from the CPAN). This module seems to do a very fine job of digging out diagnostics that normally cause internal server errors. It can e-mail the diagnostic output to you, which is a neat feature when you don't have permission to read the error logs.

A neat trick that I've used a few times is to wrap a perl compile/syntax check in a shell wrapper, with stderr redirected to stdout:

#!/bin/sh echo -ne "Content-type: text/plain\n\n" perl -cw myscript 2>&1 echo -ne "\nsyntax check complete\n"

Configure the shell script and request its URL just as you would any CGI program, and the output from perl -cw will be sent to your client.

This will help you catch problems like a shebang line in your script that specifies the wrong location for the perl executable, as well as the usual assortment of errors that can show up when your script is run in an environment other than the one in which it was written and tested.

Not all servers are configured to allow shell scripts to to talk to the CGI, but when this method works it's very useful.


In reply to Re: Debugging Perl .cgi forms by converter
in thread Debugging Perl .cgi forms by nysus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.