http://www.perlmonks.org?node_id=1011812


in reply to Re^4: Unwanted parameter when executing CGI scripts
in thread [SOLVED] Unwanted parameter when executing CGI scripts

Indeed, the whole line doesn't get executed. But the line doesn't need to be executed because there's no query string. Thus there will be no keywords; nothing to clean up; no work needs to be done.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^6: Unwanted parameter when executing CGI scripts
by Nocturnus (Beadle) on Jan 07, 2013 at 08:07 UTC

    But that was exactly my problem: If I called

    /cgi-bin/script.pl

    (i.e. without any parameters and without query string), CGI.pm behaved like if I had called

    /cgi-bin/script.pl?keywords=

    I should have mentioned that my application in this case needed to get the parameters from the query string only (GET parameters) and that it should not get the POST parameters. Thus, I was using

    $q -> url_params

    instead of

    $q -> param

    Perhaps that's the reason for the misbehavior. Furthermore, I have seen some more misbehavior (see post below), so I dumped CGI.pm; I am now parsing the query string myself.

    Regards,

    Nocturnus