in reply to Script not returning header

I may be way out of line here (I am not a CGI expert), but I don't think you're using any CGI objects. The point of including the CGI module is so you can use it. ;-)
#!/usr/local/bin/perl use CGI; use strict; my $cgi = CGI->new; print $cgi->header, $cgi->start_html, $cgi->p, "Hello, World!", $cgi->p, $cgi->end_html;

Once you've created the $cgi object, you can direct your methods (header, start_html, p, end_html, etc...) against it. In your example, you're not really printing anything... "header" doesn't exist (AFAIK).

On a side note... and I expect to get thoroughly flamed (or at least lose some XP) for this, but I recently sat through a talk given by dominus. It was altogether enlightening in understanding some of the hidden "red flags" that plague beginner- to intermediate- (perhaps even some advanced) Perl programmers. I found his philosophies on the strict pragma particularly interesting. He made note of the (unpopular) fact that many Perl coders overuse 'use strict' without really even knowing why they're using it. Your snippet is a perfect example... you've used strict (out of forced behavior, no doubt) without any need. What have you declared? You don't have a single var, ref, or sub.

I'm not saying that the strict pragma isn't a needed practice... just that perhaps we (I'm not excluding myself from this) should study the reasons for its practicality.

-fuzzyping

Update: Removed "qw(:standard)" from the CGI call. As theguvnor noted, it's not necessary when using the dedicated OO format.

Replies are listed 'Best First'.
Re: Re: Script not returning header
by theguvnor (Chaplain) on Mar 09, 2002 at 05:21 UTC
    Actually, by importing the :standard list of functions from the CGI.pm module and using its function-oriented style, you do not need to declare a CGI query object. Or, conversely, if you want to use CGI.pm's object-oriented methods as fuzzyping has demonstrated, then the qw(:standard) import statement is unnecessary. Either way works, it's a matter of taste (I prefer the OO style).

    Hope you don't take this as a flame :)

    ..Guv