$my_input = $ENV{QUERY_STRING}; @fv_pairs = split /\&/ , $my_input; foreach $pair (@fv_pairs) { if($pair=~m/([^=]+)=(.*)/) { $field = $1; $value = $2; $value =~ s/\+/ /g; $value =~ s/%([\dA-Fa-f]{2})/pack("C", hex($1))/eg; $INPUT{$field}=$value; } }