Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

•Re: Interesting CGI.pm query_string behavior

by merlyn (Sage)
on Aug 13, 2002 at 18:01 UTC ( #189899=note: print w/replies, xml ) Need Help??


in reply to Interesting CGI.pm query_string behavior

I think your leap from "unprocessed query string" to $ENV{QUERY_STRING} is the mistake here. Since the model of CGI.pm is that it work nearly transparently for both GET and POST, I would never have imagined it to generate different results for query_string().

So I presume, yes this is a feature, and yes, it's not going away soon.

-- Randal L. Schwartz, Perl hacker

  • Comment on •Re: Interesting CGI.pm query_string behavior

Replies are listed 'Best First'.
Re: •Re: Interesting CGI.pm query_string behavior
by Hero Zzyzzx (Curate) on Aug 13, 2002 at 18:30 UTC

    This behavior does seem consistent with how the rest of CGI.pm works.

    For some reason I had it in my head that methods like query_string() and script_name() were just convenience methods for getting %ENV values, but this isn't the case. Fine with me, because this is a very nice feature. . .The docs were just a bit confusing as to what was actually returned from query_string().

    Thanks.

    -Any sufficiently advanced technology is
    indistinguishable from doubletalk.

      Indeed. It even becomes clearer when we look at the CGI.pm code. :)

      #### Method: query_string # Synthesize a query string from our current # parameters #### 'query_string' => <<'END_OF_FUNC', sub query_string { my($self) = self_or_default(@_); my($param,$value,@pairs); foreach $param ($self->param) { my($eparam) = escape($param); foreach $value ($self->param($param)) { $value = escape($value); push(@pairs,"$eparam=$value"); } } return join($USE_PARAM_SEMICOLONS ? ';' : '&',@pairs); }

      - from CGI.pm

      So it simply constructs a query string from the given name/value pairs already in the CGI object. It'll even use that far-out semicolon format if you want it to. :)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2021-06-12 15:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (53 votes). Check out past polls.

    Notices?