Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: CGI-encoded quote characters

by projekt21 (Friar)
on Oct 10, 2001 at 21:37 UTC ( #118067=note: print w/replies, xml ) Need Help??

in reply to CGI-encoded quote characters

As you may already use CGI; you can do it with (updated, thanks to echo):

my $escaped_url = $url . CGI::escape($query_string);

alex pleiner <>
zeitform Internet Dienste

Replies are listed 'Best First'.
Re: Re: CGI-encoded quote characters
by echo (Pilgrim) on Oct 10, 2001 at 21:41 UTC
    Be careful not to escape the whole URL though, you want to leave those slashes intact. Only the query string itself should be escaped.
Re: Re: CGI-encoded quote characters
by cfreak (Chaplain) on Oct 10, 2001 at 22:55 UTC

    If you are already parsing the parameters with CGI it does it automatically.

    I tend to do $cgi->Vars() which returns a hash of all parameters to the script. It returns the parameters of the query string if it is a GET or the form if it is a POST. I wrote a little test script:

    #!/usr/bin/perl use CGI; my $cgi = new CGI; my %form = $cgi->Vars(); print "Content-type:text/html\n\n"; print "<html><body>\n"; foreach my $key(keys %form) { print "$key = $form{$key}<br>\n"; } print "</body></html>\n"; exit;

    I fed it this url:

    It printed "something" something_else. The point is that CGI will handle this automatically.

      If you reread the question, you will see, that Anonymous Monk asked for tips to ENCODE the query string...

      alex pleiner <>
      zeitform Internet Dienste

        Doh!! I thought he wanted to decode it, oh well disregard my above post! :)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2022-05-27 21:12 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (97 votes). Check out past polls.