sub parsedata { ($ENV{'REQUEST_METHOD'} eq "GET") ? $in = $ENV{'QUERY_STRING'} : read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); @in = split(/&/,$in); foreach $i (0 .. $#in) { $in[$i] =~ s/\+/ /g; $in[$i] =~ s/%(..)/pack("c",hex($1))/ge; $in[$i] =~ s/\n/ /g; $in[$i] =~ s/\r/ /g; ($key, $val) = split(/=/,$in[$i],2); $in{$key} .= '\0' if (defined($in{$key})); $in{$key} .= $val; } }