#!c:/Perl/bin/Perl.exe use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use Data::Dumper; my ($my_data, $data_length, $bytes_read); if ($ENV{'REQUEST_METHOD'} eq "GET"){ $my_data = $ENV{'QUERY_STRING'}; } else { $data_length = $ENV{'CONTENT_LENGTH'}; $bytes_read = read(STDIN, $my_data, $data_length); } my @name_value_array = split(/&/, $my_data); my %form_data; foreach my $name_value_pair (@name_value_array) { my ($name, $value) = split(/=/, $name_value_pair); $name =~ tr/+/ /; $value =~ tr/+/ /; $name =~ s/%(..)/pack("C",hex($1))/eg; $value =~ s/%(..)/pack("C",hex($1))/eg; if($form_data{$name}){ $form_data{$name} .= "\t$value"; } else{ $form_data{$name} = $value; } } die Dumper \%form_data; __DATA__ Software error: $VAR1 = { 'password' => '', 'submit.y' => '58', 'submit' => 'Login', 'submit.x' => '36', 'username' => 'test' }; #### #!c:/Perl/bin/Perl.exe use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use CGI; my $q = CGI->new; my $usr = $q->param('username'); my $pwd = $q->param('password'); die "usr: $usr -> pwd: $pwd"; __DATA__ Software error: usr: test -> pwd: at C:/www/local/test2.cgi line 12. #### test.cgi

User Name:

Password: