You cannot do this:
<form action='script.cgi?a=foo&b=bar'>
The "params" won't actually be retrievable as params by param(). Split them out into hidden INPUTs.
if that's part of an HTML file. You forgot to HTML-entitize the ampersand.<form action='script.cgi?a=foo&b=bar'>
Re:Bad HTML anyway
brian_d_foy on 2004-05-09T05:00:49
You don't even need to escape ampersands because CGI.pm will happily use a ; as a pair delimiter. See the docs for -newstyle_urls .
CGI is dead, long live CGI::Simple!$q = new CGI::Simple;
$q->parse_query_string; # add $ENV{'QUERY_STRING'} data to our $q object
Re:CGI::Simple
merlyn on 2004-05-08T19:33:54
Well, the most significant user difference between CGI.pm and CGI::Simple for me would be the lack of sticky form fields. And I use sticky form fields quite a bit, so CGI::Simple doesn't meet my needs.Re:CGI::Simple
gav on 2004-05-08T20:03:23
I don't like to mess with HTML, I'd rather it stay out of my program and into a template. Using HTML::FillInForm/Template::Plugin::FillInForm is a lot nicer.
Just uncomment the following line and get your params the way you should.# Uncomment this line to have the contents of the query string
# APPENDED to the POST data.