プロが教えるわが家の防犯対策術!

HTMLでメールフォームを作りCGI(Perl)で次のプログラムを作りました。

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "$mail\n";
print "$namae\n";
print "$naiyou\n";

動作確認のためプログラムは少しにしました。何も表示されません。

A 回答 (2件)

$mail,$namae、$naiyou


には何か入ってるのですか??
Content-type: text/html なら、その後にHTMLが送られてこないとならない。
HTMLは、最低限<body></body>で囲まれた内容がないとならない。

#!/usr/local/bin/perl
$mail='ここはタイトル';
$namae = '<dl>\n<dt>名前が入る</dt>';
$naiyou = '<dd>ここには本文</dd>\n</dl>';

print "Content-type: text/html\n\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n";
print "<html lang=\"ja\">\n";
print "<head>\n";
print "<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\">\n";
print "<title>$mail</title>\n</head>\n";
print "<body>\n";
print "<h1>$mail</h1>\n";
print "$namae\n";
print "$naiyou\n";
print "</body>\n</html>\n";
__END__

とか・・

この回答への補足

データ読み込みの方法が知りたい。

補足日時:2014/04/30 22:57
    • good
    • 0

Perlは汎用のプログラミング言語で、CGIに特化したものではありません。


そのため、PHPのように「フォームで入力された情報が勝手に変数に入る」ということはありません。
明示的に情報を取り込む必要があります。

・自前でデータ取り込みプログラムを作る
・CGIモジュール等の既存の物を使う

よほど古いPerlとかで無い限り、CGIモジュールを使うのがよいでしょう。
「CGI.pm」で検索すれば、解説サイトが見つかります。
    • good
    • 0
この回答へのお礼

参考になりました。

お礼日時:2014/05/01 08:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!