read(STDIN, $input, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/,$input); foreach $pair (@pairs){ $pair =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; ($name, $value) = split(/=/,$pair,2); $value =~ tr/+/ /; $value =~ s/~!/ ~!/g; $value =~ s/[\r]//g; if($name =~ /^C/){push(@C,$name)} if($name eq "forbids"){push(@forbids,$value);$unallow=join("|",@forbids)} if($name eq "auths" && $value =~ /\w/){push(@AUTHS,$value)} if($name eq "user_files" && $value =~ /\w/){push(@FILES,$value)} if($name =~ /^button_/){ $name =~ s/button_//;push(@buttons,$name); }else{ $$name=$value; push(@names,$name); $NAMES{$name}=$value; } } 1;