Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: CGI script gives "internal server error"

by japhy (Canon)
on Mar 03, 2009 at 19:30 UTC ( [id://747861] : note . print w/replies, xml ) Need Help??

in reply to CGI script gives "internal server error"

CGI notwithstanding, the error is in your here-doc syntax. In Perl, here-docs must be created in the following ways:
This is documented in perlop: "There must be no space between the '<<' and the identifier, unless the identifier is quoted. (If you put a space it will be treated as a null identifier, which is valid, and matches the first empty line.)"

Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
Nos autem praedicamus Christum crucifixum (1 Cor. 1:23) - The Cross Reference (My Blog)

Replies are listed 'Best First'.
Re^2: CGI script gives "internal server error"
by manish.rathi (Acolyte) on Mar 03, 2009 at 20:16 UTC
    I removed space between <<END_OF_HTML, but still script did not run successfully.

    I checked the error.log and there I saw following entries

    "Tue Mar 03 15:10:42 2009 error client (OS 5)Access is denied. : couldn't create child process: 720005: server_info.cgi

    Tue Mar 03 15:10:42 2009 error client (OS 5)Access is denied. : couldn't spawn child process: C:/Program Files/Apache Group/Apache2/cgi-bin/server_info.cgi"

    What does these error messages suggest ?

      Maybe your server doesn't know to use perl to execute .cgi files? First make sure your script is executable(if on unix). Also try adding one of the following shebang lines as the very first line in your script.

      WINDOWS either:

      You should substitute the path with the correct path to your perl executable

      UPDATE: Doh, obviously those are windows paths. Ignore what I said about UNIX and try "#!perl" on the first line. Also verify the file has the correct permissions, that it's readable by the webserver