#!/usr/bin/perl
#表示部分の振り分けサブルーチン
&decode;
if ($mode eq 'regist') { ®ist; }
&html;
#htmlを表示
sub html {
print <<"HTML";
Content-type: text/html
名前の問い合わせ
あなたのお名前を教えてください。
HTML
exit;
}
sub regist {
print "Content-type: text/html\n\n";
print "\n";
print "こんにちは${name}さん
\n";
print "\n";
exit;
}
sub decode {
#フォームからデータ「yourname=○○○」、「mode=regist」を読み取り、
#読み込んだデーターを$inputに代入
read STDIN,$input,$ENV{'CONTENT_LENGTH'};
@pairs = split(/&/,$input);
foreach $pair (@pairs) {
($list, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$list} = $value;
}
$name = $FORM{'name'};
$mode = $FORM{'mode'};
}
__END__