module สำหรับ ใช้ get กับ post แยก subroutine กันนะครับ
DataParam.pm
package DataParam;
sub new
{
my $class = shift;
my $self = {};
bless($self,$class);
return $self;
}
sub GetParam
{
my $self = shift;
my $params = $ENV{'QUERY_STRING'};
my $data = {};
foreach (split(/&/,$params))
{
my ($key,$value) = split(/=/,$_);
#### บรรทัดล่างเอาไว้แปลงค่าอักษรที่เป็น % นำหน้า
$value =~ s/%(..)/chr(hex($1))/ge;
$data->{$key} = $value;
}
return $data;
}
sub PostParam
{
my $self = shift;
my $params;
read(STDIN,$params,$ENV{'CONTENT_LENGTH'});
my $data = {};
foreach (split(/&/,$params))
{
my ($key,$value) = split(/=/,$_);
#### บรรทัดล่างเอาไว้แปลงค่าอักษรที่เป็น % นำหน้า
$value =~ s/%(..)/chr(hex($1))/ge;
$data->{$key} = $value;
}
return $data;
}
1;
วิธีการใช้งาน
index.pl
#!c:\perl\bin\perl.exe
use strict;
use CGI;
use DataParam;
my $param = DataParam->new();
my $GET = $param->GetParam();
my $POST = $param->PostParam();
my $cgi = CGI->new();
print $cgi->header("text/html");
################## xxx กับ yyy คือชื่อตัวแปรที่ส่งมาครับ
print $POST->{'xxx'};
print $GET->{'yyy'};
0 comments:
Post a Comment