ホーム >> 左脳Script >> Perl >> 「Perl で CGI」事始め

「Perl で CGI」事始め


どうにも上手く動かない。apache の設定かと思い調べたが、httpd.conf の <Dirctory "/var/www/html"> セクションに Options ExecCGI の表記があり、 そもそも何もしなくとも CGI が動く設定であると気付く。

が、実際はどうかと言うと動かない。

tst.cgi

#!/usr/bin/perl
print "!";
こんな簡単なのに・・・。エラーログを見ると、

Premature end of script headers: tst.cgi
「ヘッダ吐き出す前に止まっちゃったよ(意訳)」というものらしい。
調べた結果、 「ヘッダを明示的に書き出さないとダメ」という、ちょっと抜けた結果だった。


#!/usr/bin/perl --
print "Content-type:text/html\n\n";
print "test";
ヘッダを最初に出力すると、「test」が表示された。

改行がどうとかのレベルではなく、CGIコードの常識がなかっただけのようだ。orz

サーバサイドスクリプトは、php から入った為に、ヘッダ書き出しが必須であるという常識がなかった。

というオチでした。



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/226

コメントする

ホーム >> 左脳Script >> Perl >> 「Perl で CGI」事始め

アーカイブ

このブログ記事について

このページは、n-yagiが2009年9月10日 16:05に書いたブログ記事です。

ひとつ前のブログ記事は「Flash から POST」です。

次のブログ記事は「「Perl で CGI」POST と GET」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。