sub cgi_read_post { local($buffer,$p,$n,$v); read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); foreach $p (split(/&/,$buffer)) { ($n,$v)=split(/=/,$p); $v=~s/\+/ /g; $n=~s/\+/ /g; $v=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $n=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $v=~s/\cM+|\s+/ /g; $v=~s/^\s*|\s*$|\|//g; $in{$n}=($in{$n} eq ""?$v:"$in{$n}|$v"); } }