in reply to Re: Re: Re: Re: use CGI
in thread making a hash from cgi parameters

Ah. I thought CGI.pm handled that, but I see it does not. Here's an alternate to Ovid's offering that doesn't try to keep the two options seperate. Note this probably isn't the best way to do it either, but this does work:
#!/usr/bin/perl -w use strict; use CGI; use URI::Escape; my $query = new CGI; my $plus; $plus .= "$_=".uri_escape($query->param($_)).";" foreach ($query->para +m()); if($ENV{REQUEST_URI}=~/^[^?]*\?(.*)/){ $plus.=$1; } $query = new CGI ($plus); my %data = $query->Vars(); print $query->header; #print HTTP header while (my ($key, $value) = each %data){ print "<br>$key--$value\n"; } print qq( <form method=post action=test.cgi?test=foo> <input name=bar> <input type=submit> </form> );
Update: use url_param(), I was looking at old docs and missed it.