- ベストアンサー
#!/usr/bin/perl --でも不安定です
#!/usr/bin/perl ですと全く表示されず、Internal Server Error. #!/usr/bin/perl -- でも30%ぐらいしか画面表示されません。 サーバのファイルをTeraTermで見てもおかしなファイルが見当たりません。 問題のファイルを調べる方法はありますでしょうか? Carpモジュールをuseしても相変わらずInternal ServerError.でさっぱり見当がつきません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
(1)perlの確認 telnetで where perl とやって、perlの場所を確認。 (2)プログラムの確認 perl -c test.cgi 等として、エラーが無いか確認。 (3)出力の確認 perl test.cgi として、ちゃんと意図した物が出力されるか確認。 (4)出力内容の確認 良くあるのはCGI呼び出しなのに、先頭の content-type:text/html\n\n が無いなどをチェック。 そもそもCGIなのか、実行するだけなのか判りませんが、 CGIで、プログラムがOKで、それでもだめな事を確認してから apacheあたりの設定を疑うのが良いかと思います。 その場合、 !/usr/bin/perl print "Content-type: text/html\n\n\n"; print "<html><body>test</body></html>\n"; exit; ぐらいのプログラムでお試しを。
その他の回答 (4)
- nuki
- ベストアンサー率30% (6/20)
ANo.4 の情報修正です。 Catch.pmではなく、KCatch.pmでした。 詳しくは、下記参考URLでご確認下さい。
- nuki
- ベストアンサー率30% (6/20)
Catch.pmがきっとあなたを救ってくれることでしょう。 Perlの開発から離れて随分経っており、手元に資料が 見当たらないので、後はご自身でお調べいただくしか 無いのですが、私の記憶では、このモジュールをcgiの 先頭でuseしておくと、Perl実行中に発生した問題を HTMLに変換してブラウザに表示してくれた、と思います。
- zebedeer
- ベストアンサー率66% (80/121)
>#!/usr/bin/perl >ですと全く表示されず、Internal Server Error. >#!/usr/bin/perl -- 改行コードが違っているのでは? >問題のファイルを調べる方法はありますでしょうか? httpdのerror_logを調べるのが一番早いと思いますが。。。 (termで直接見るか、cgiでそれっぽいファイルを探して)
- moon_night
- ベストアンサー率32% (598/1831)
print "Hello Perl"; くらい簡単なものを設置して、これでも サーバーエラーが出るのであればサーバが悪い。 サーバ管理者に連絡したほうがいいと思います。
お礼
シンプルな方法ありがとうございます。試してみます。
お礼
なるほど。改行コードを検索してみるのも面白そうです。 いいアイディアありがとうございます。 ログも見てみます。