our %PARAM = (); my $query = $ENV{'QUERY_STRING'}; read STDIN, $query, $ENV{'CONTENT_LENGTH'} if $ENV{"REQUEST_METHOD"} eq 'POST'; foreach (split /&/, $query) { $PARAM{lc($1)} = &CleanQuery($3) if /^([^=]+)(=(.+))?$/; } sub CleanQuery # param { my $p = shift; $p =~ s/%0D%0A/\n/g; $p =~ tr/+/ /; $p =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; return $p; }