Now, when calling such scripts without any parameters (i.e. without query string after the script name / path), the scripts are seeing an unwanted parameter "Keywords" (which does not have a value).
Trivial to test
$ perl -MData::Dump -MCGI -e " dd( CGI->new(q{?noampernoequal}) )" bless({ ".charset" => "ISO-8859-1", ".fieldnames" => {}, ".parameters" => ["keywords"], "escape" => 1, "param" => { keywords => ["?noampernoequal"] }, "use_tempfile" => 1, }, "CGI") $ perl -MCGI -e " print CGI->new(q{?noampernoequal})->param " keywords $ perl -MCGI -e " print CGI->new(q{?noampernoequal})->keywords " ?noampernoequal $ perl -MCGI -e " print for CGI->new(q{?noampernoequal})->keywords " ?noampernoequal $ perl -MCGI -e " print for CGI->new(q{?a=b;noampernoequal})->keywords + "
Easy to remove
use Data::Dump; use CGI; my $q = CGI->new( q{?noampernoequal}); dd $q; dd $q->param; dd $q->keywords; $q->delete('keywords') if $q->keywords; dd $q->param; dd $q; __END__ bless({ ".charset" => "ISO-8859-1", ".fieldnames" => {}, ".parameters" => ["keywords"], "escape" => 1, "param" => { keywords => ["?noampernoequal"] }, "use_tempfile" => 1, }, "CGI") "keywords" "?noampernoequal" () bless({ ".charset" => "ISO-8859-1", ".fieldnames" => {}, ".parameters" => [], "escape" => 1, "param" => {}, "use_tempfile" => 1, }, "CGI")
I don't think I've ever used this feature in 10 years :)
In reply to Re: Unwanted parameter when executing CGI scripts
by Anonymous Monk
in thread [SOLVED] Unwanted parameter when executing CGI scripts
by Nocturnus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |