Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^5: Unwanted parameter when executing CGI scripts

by Anonymous Monk
on Jan 06, 2013 at 01:25 UTC ( #1011819=note: print w/ replies, xml ) Need Help??


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

:D

Interestingly, the delete method seems to remove the respective entry only from $q->params, but not from $q->url_params (now guess which of the two I (have to) use).

You know what :) you don't really *have* to :) there are many options, patch CGI.pm, monkeypatch CGI, fix code ....

Besides this, I didn't get your code to work like I want. Perhaps I have another error, but at the moment it seems that $q->keywords is empty if the script is called without any parameters, so $q -> keywords evaluates to false in this case, and the code doesn't get executed anyways.

Yeah, if there are no keywords, don't delete keywords -- makes sense to me :)


Comment on Re^5: Unwanted parameter when executing CGI scripts
Re^6: Unwanted parameter when executing CGI scripts
by Nocturnus (Sexton) on Jan 07, 2013 at 08:26 UTC

    Well, it might make sense, but it's not what I want. As I wrote above, the problem arose when I was trying to pass parameters from the query string to another script by constructing a link which contains these parameters. I used the following method (pseudocode):

    In scriptA.pl, fill hash with all parameters from query string, using $q->url_param (and not $q->param) Do something with the hash entries Construct a new query string from the hash entries Generate a link to scriptB.pl?<new query string>

    Now, I if call

    /cgi-bin/scriptA.pl

    (without any parameters), the resulting link is

    /cgi-bin/scriptB.pl?keywords=

    i.e. there is an empty parameter "keywords" in the link which should not be there.

    This was not acceptable for me. Solving that problem turned out not to be too easy because I wanted to keep the "keywords" parameter if it had been in the query string in the first place.

    See my post below for additional misbehavior of CGI.pm and for how I solved the problem.

    Regards,

    Nocturnus

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1011819]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-12-25 03:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (159 votes), past polls