#!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