Formの値の取得
CGIを使う上で必ずと言っていいほど必要なのがこれ。
sub decode {
if($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{ $buffer = $ENV{'QUERY_STRING'}; }
@pairs = split(/&/,$buffer);
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;
$value =~ s/>/>/g;
&jcode'convert(*value,'sjis');
$form{$name} = $value;
}
return;
}
POSTで送られてきた場合もGETで送られてきた場合も、
$form{"変数名"};
で取得できます。