--- Chris Devers <[EMAIL PROTECTED]> wrote:
> On Wed, 6 Jul 2005, Ron Smith wrote:
>
> > I'm getting an error when I submit the following
> html form to a CGI
> > script.
>
> Let's focus on the script, not the HTML.
>
> Once you've verified that the script works, at least
> on a basic level --
> i.e. you can go to
> http://your-site/cgi-bin/your-script.cgi and get
> back
> a non-error response -- *then* you can start
> thinking about the HTML.
>
> > #!/www/perl/bin/perl -wT
> >
> > use strict;
> >
> > use CGI qw(:standard);
> > use CGI::Carp qw(fatalsToBrowser);
> > print header;
> > print CORE::dump(); # <===== This line was
> originaly: print dump();
>
> Okay, hold that thought...
>
>
> > ---------snip-3-From the browser---------------
> >
> > Internal Server Error
>
> This continues to be useless. It's a generic error
> response from the web
> server; it indicates nothing about what the actual
> problem was. That
> said, with CGI::Carp's fatalsToBrowser, you should
> be getting useful
> diagnostics in the web server response. Maybe it's
> hidden in a comment
> or something, I don't know. In any case, the
> response you pasted doesn't
> have any useful information in it, just as it didn't
> when you pasted it
> to the list a few days ago :-)
>
> > --------------snip-4-From the error
> log--------------
> >
> > [Wed Jul 06 18:23:56 2005] [error] [client
> 127.0.0.1]
> > Premature end of script headers: form4-21.cgi,
> > referer: http://localhost/form4-21.html
>
> Okay, now we're getting somewhere.
>
> "Premature end of script headers" is generally a
> tell-tale sign that the
> CGI script never sent back the mandatory
> content-type declaration. I'm
> not clear why this isn't working, as the `print
> header;` line you have
> should do this, but in any case you can ignore
> CGI.pm for a moment and
> just put the needed line in directly, like so:
>
> #!/www/perl/bin/perl -wT
>
> use strict;
>
> use CGI qw(:standard);
> use CGI::Carp qw(fatalsToBrowser);
> print "Content-type: text/plain\n\n";
> print "Okay, at least this worked.\n";
>
> If the code above works, then you can amend it to
> use your CORE line:
>
> #!/www/perl/bin/perl -wT
>
> use strict;
>
> use CGI qw(:standard);
> use CGI::Carp qw(fatalsToBrowser);
> print "Content-type: text/plain\n\n";
> print CORE::dump();
>
> Now then, why on earth are you trying to dump core?
This was just an exercise out of a book. I gave your
suggestion a try and worked through the lines and got
it to work. I still get the error with 'dump()'
though. I finally moved on to the following, whiched
worked fine:
#!/www/perl/bin/perl -wT
# use strict;
use CGI qw(:standard);
# use CGI::Carp qw(fatalsToBrowser);
print header;
my $first_name = param('fname');
my $last_name = param('lname');
my $fav_color = param('color');
print qq(Hello, $first_name $last_name.<br />);
print qq(Your favorite color is: $fav_color<br />);
Thanks for the suggestion. :-)
Ron
>
> If you just want to output the environment, this is
> a clumsy way to do
> it. Something like this would work just fine:
>
> #!/www/perl/bin/perl -wT
>
> use strict;
>
> use CGI qw(:standard);
> use CGI::Carp qw(fatalsToBrowser);
> print "Content-type: text/plain\n\n";
>
> print "Environment variable dump:\n";
> foreach $key ( sort keys %ENV ) {
> print "$key: $ENV{$key}\n";
> }
>
> That should work, and as it isn't dumping core, it
> might even behave :-)
>
>
>
> --
> Chris Devers
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>