if ($ENV{'REQUEST_METHOD'} eq 'POST') read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); why, I don't know, but I "should use this because its more portable". anyways here's the part that needs attention: foreach $thing (keys(%INPUT)) { if(ref($INPUT{$thing}) eq "ARRAY") { $INPUT{$thing} = join('^', $$INPUT{$thing}); } # if($#INPUT{$thing}) { $INPUT{$thing} = join('^', $$INPUT{$thing}); } }