• ベストアンサー

#!/usr/bin/perl --でも不安定です

#!/usr/bin/perl ですと全く表示されず、Internal Server Error. #!/usr/bin/perl -- でも30%ぐらいしか画面表示されません。 サーバのファイルをTeraTermで見てもおかしなファイルが見当たりません。 問題のファイルを調べる方法はありますでしょうか? Carpモジュールをuseしても相変わらずInternal ServerError.でさっぱり見当がつきません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

(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)
回答No.5

ANo.4 の情報修正です。 Catch.pmではなく、KCatch.pmでした。 詳しくは、下記参考URLでご確認下さい。

参考URL:
http://www.kawa.net/xp/index-j.html
  • nuki
  • ベストアンサー率30% (6/20)
回答No.4

Catch.pmがきっとあなたを救ってくれることでしょう。 Perlの開発から離れて随分経っており、手元に資料が 見当たらないので、後はご自身でお調べいただくしか 無いのですが、私の記憶では、このモジュールをcgiの 先頭でuseしておくと、Perl実行中に発生した問題を HTMLに変換してブラウザに表示してくれた、と思います。

  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

>#!/usr/bin/perl >ですと全く表示されず、Internal Server Error. >#!/usr/bin/perl -- 改行コードが違っているのでは? >問題のファイルを調べる方法はありますでしょうか? httpdのerror_logを調べるのが一番早いと思いますが。。。 (termで直接見るか、cgiでそれっぽいファイルを探して)

natsuyori
質問者

お礼

なるほど。改行コードを検索してみるのも面白そうです。 いいアイディアありがとうございます。 ログも見てみます。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

print "Hello Perl"; くらい簡単なものを設置して、これでも サーバーエラーが出るのであればサーバが悪い。 サーバ管理者に連絡したほうがいいと思います。

natsuyori
質問者

お礼

シンプルな方法ありがとうございます。試してみます。

関連するQ&A

専門家に質問してみよう