一つのユニットとして考えてください。 HTMLのフォームに記述した内容を受け取る際には、 以下の記述をすると、GETでもPOSTでも受け取ることが可能になります。 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; $value =~ s/\n/
/g;   $value =~ s/\*//g;  $value =~ s/^//g; $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*value,'sjis'); &jcode'convert(*name,'sjis'); $FORM{$name} = $value; } これで全て受け取ることが可能です。 ここに記述してる$value =~ s/等の NAME="e-mail"の"e-mail"に連動しています。 ここのフォームの入力内容を収得するには以下のようにして 得ることができます。 $FORM{'e-mail'} これでに 入力された内容を得ることができます。 ただこのままでは得ただけなので、これを何らかの形で処理する 必要があります。通常はこれを変数に入れてなんかに利用するか プリントして、出力します。 例えば変数に代入する場合は・・・ $email = $FORM{'e-mail'}; と書きます。 これで、$FORM{'e-mail'}の内容は、 $emailへ代入されたことになります。 これを出力するには・・・・・ print $email; で出力できます。 変数に代入しないで以下の形でも問題はありません。 print $FORM{'e-mail'}; どちらにするかは、CGIの構築内容に合わせて使用してください。