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