Hi all, Well, here is my 'header' and 'ender' file module that I put in a require('html.pm') statement near the beginning of my perl scripts.
When I am ready to output info back to the browser, I do something like: &HTML_header($some_header_text); print "<body>\n"; print "$msg\n"; # prints required message to the screen ... other print statements &HTML_ender; The frustrating thing is, it works fine for other perl programs. In fact the program that generates the error is very similar to another one that works as expected :( The 'html.pm' script I use (i.e. require('html.pm')) in my perl scripts is: # html.pm sub HTML_header { # Put up standard HTTP opening line. print "Content-type: text/html\n\n"; # Specify HTML document. print "<html>\n\n"; # Specify header section. print "<head>\n\n"; print "<link type=\"text/css\" rel=\"stylesheet\" href=\"main_style.css\">\n\n"; # Put up the title line, specified as the parameter from the calling module. print "<title>", "@_", "</title>\n\n"; # End header section. print "</head>\n\n"; } # End HTML_header # Set up a standard HTML footer section. At this point, # it simply ends the BODY and HTML sections. sub HTML_ender { print "\n\n\n"; # Print the copyright information print "<center>\n"; print "<font size=\"-2\">\n"; print " Copyright © 2003. All rights reserved.\n"; print "</font>\n"; print "</center>\n"; # End the html section print "</body>\n\n"; print "</html>\n\n"; } # End HTML_ender return 1; -----Original Message----- From: Camilo Gonzalez [mailto:[EMAIL PROTECTED] Sent: Wednesday, 06 August, 2003 1:20 AM To: Mike Harrison Cc: [EMAIL PROTECTED] Subject: Re: Perl line breaks Mike Harrison wrote: >Hello all, > >Well, I have spent the last few nights messing around trying to work out why >one of my PERL programs doesn't work. If anybody can shed some light on >this, I might be able to get some sleep :) > >I am using a hosting service to host my web site, and they use a Microsoft >NT-based server system (sorry, I don't know the nitty-gritty details). They >allow user cgi programs (PERL, PHP etc.), and until now most of my PERL >programs have worked as expected. I am using NTEmacs as a text editor for >my HTML & PERL programming. > >With one program, I am getting an error message as follows: > >CGI Error >The specified CGI application misbehaved by not returning a complete set >of HTTP headers. The headers it did return are: > > >(nothing else is printed to the screen after 'The headers it did return >are:') > >My question is: Are line breaks important with PERL programs, and if so, >any tips? If line breaks are not likely to be the problem in this case, >does anybody know why I am getting this error? > >Note that I have a similar PERL program in the same directory that works >fine. So I think it is my program and not the web server... It might be I >have overlooked an important detail that I can't see on the screen - such as >line breaks or other non-printable characters??? > >Thanks in advance for any help, >Mike. > > > > How are you generating your HTTP headers? Can you post some code?