Contributed by Anonymous Monk on Jul 25, 2000 at 03:47 UTC
Q&A  > CGI programming


I have a html page which refers to a cgi script written in perl.
However, when I click on the 'Send' button on this page,
I get the message 'Document contained no data'. What could
be wrong ? I have already checked the path for perl in the cgi script.
Also the path for the perl cgi script in the html page
also seems to be right ?
What other things can I check ?
Any help would be deeply appreciated .

Answer: How can I find a 'Document contains no data' problem?
contributed by extremely

Document contains no data is a pretty clear indicator that your program exited early. Like other have said, check your error logs, add the lovely use CGI::CARP qw(fatalsToBrowser); to hopefully get SOME data to the browser.

Also, if it's a basic perl script cgi try perl -cw filename.cgi and see if it complains about a simple error that might bomb it out.

I had this happen once with a 45kb script with scads of modules. I had -w and use strict; and CGI and Carp and all that jazz going, no errors in the log, no compile errors, nothin. After hours, literally, I noticed that I had absentmindedly put an exit(0); where a much more reasonable return(0); should have been. =) It happens...

Answer: How can I find a 'Document contains no data' problem?
contributed by steveAZ98

First check your permissions for the script, make sure it's executable. ie chmod 755 scriptname in the unix world.

Then check that your script is sending back the content type ie. Content-type: text/html\n\n

Then check that your webserver is configured for the directory of where your script lives. ie. if your webserver is configured for cgi scripts in /cgi-bin and your calling /bin/script

If all those are correct, check the error logs of that website. Any errors in opening files, file permissions etc. should be there. Maybe you want to check this first as it will give you a better idea of where to start.


Also, try using use CGI::Carp qw/fatalstoBrowser/ to get any error messages to appear in the browser window.
Contributed by davorg -- Q&AEditors

Answer: How can I find a 'Document contains no data' problem?
contributed by Zombie rgl

Another common problem is the mismatch in the left and right brackets! unequal no. of ( & ) or { & }. rgl

Answer: How can I find a 'Document contains no data' problem?
contributed by cei

One that kills me sometimes when I'm not paying attention: make sure your script is using line breaks that match the system your server is running. I often write my perl in BBEdit on my Mac, but I have to save with DOS or UNIX linebreaks for them to run properly on a server. When I don't the "Document contained no data" is the error it gives me.

Answer: How can I find a 'Document contains no data' problem?
contributed by Anonymous Monk

I had to have print "Status: 302\n"; before the Location: This was the only solution.

Please (register and) log in if you wish to add an answer

  • 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, 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, 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.