direi meglio:

codice:
 ########################################
#####
# Sub: Get Form Data
# This gets data from a post.

sub get_form_data {
    my ($buffer,@pairs,$pair,$name,$value);
    if ($ENV{'REQUEST_METHOD'} eq 'POST') {
        read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
        @pairs = split(/&/, $buffer);
    }
    elsif ($ENV{'REQUEST_METHOD'} eq 'GET') {
        $buffer = $ENV{'QUERY_STRING'};
        @pairs = split(/&/, $buffer);
    }
    else {
         die "Errore... metodo non consentito\n";
    }

    foreach $pair (@pairs) {
        ($name, $value) = split(/=/, $pair);
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ s///g;
        $FORM{$name} = $value;
    }
}
in questo modo ti trovi un hash che ha come chiavi i nomi dei parametri e come valori i valori degli stessi.