2008年2月20日 星期三

Perl CGI筆記

Perl CGI 讀取 FORM 變數方法
若是 FORM method 為 POST,由STDIN讀取傳入的變數值
read(STDIN, $finfo, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$finfo);
foreach $pair (@pairs)
{
($name,$value) = split(/=/,$pair);
$value =~ s/+/ /g;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/
pack("C", hex($1))/eg;
$FORM{$name} = $value;
}

若是 FORM method 為 GET,由ENV剖析出傳入的變數值
$finfo = $ENV{'QUERY_STRING'}
@pairs = split(/&/,$finfo);
foreach $pair (@pairs)
{
($name,$value) = split(/=/,$pair);
$value =~ s/+/ /g;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/
pack("C", hex($1))/eg;
$FORM{$name} = $value;
}

列印出所有環境變數方法
foreach $key (sort keys(%ENV)) {
print "$key = $ENV{$key}<p>";
}

沒有留言: