# application/x-www-form-urlencoded sub qparse{ my $rawdata = shift; # querystring my %param = (); my @pie = split /[;&]/, $rawdata; foreach my $p(@pie){ my ($pname, $val) = split(/=/, $p, 2); next unless $pname; next unless defined $val; $val =~ s/\+/ /g; $val =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; push @{$param{$pname}}, $val; # key => [val,val..] } return \%param; }