Fellow Monks, I'm using activestate perl on Windows 2000, following on from a recent post. I'm trying to run the script below, what it should be doing is putting nice output to the browser, and saving an html file on the webserver:
#!/usr/bin/perl use strict; use CGI; my $q = new CGI; open(OUT, '>out.html') || die "Couldn't open out file: $!"; print OUT $q->header, $q->start_html('hello world'), $q->h1('hello world'), $q->end_html; close OUT; END{} __END__
When I browse to this script though I keep getting this error message:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

As well as that, the html file produced on the server looks a bit wacky:

Content-Type: text/html; charset=ISO-8859-1 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>h +ello world</title> </head><body><h1>hello world</h1></body></html>
This cleans up a bit if I comment out the $q->header, But the error message in the browser remains the same. I'd appreciate it if somebody could point out the problem with the script, or another workaround for this problem.
Many Thanks,
Martymart.

In reply to CGI http header error by martymart

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.