- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エラー出力をなくしたい)
エラー出力のないPerl CGIサーバーの設定方法
このQ&Aのポイント
- 学校のサーバーでCGIとしてPerlを実行している際、-wオプションをつけずに実行するとInternal Server Errorが出力され、-wオプションをつけると大量の警告メッセージが出力されて同じくInternal Server Errorになってしまいます。
- STDERRを閉じることで、エラーメッセージのほとんどを抑制することができますが、変数を1回しか使用していないという警告メッセージが残ってしまいます。
- 完全にエラーや警告メッセージをなくすには、Perlのコードを適切に修正する必要があります。エラーの原因を正確に特定し、適切な対策を行うことで、エラーや警告メッセージを抑制することができます。
- みんなの回答 (2)
- 専門家の回答
お礼
お返事ありがとうございます。 はぁ、もうなんだかわかりません。 すべてのエラーメッセージをなくしても何も表示してくれなくなりました。 おっしゃる通り改行コードはlfだけに変更してみました。 問題なのは、日本語をUTF-8で書いているところなのでしょうか。 もちろん、コメントと文字列内にしかUTF-8は使っていません。 UTF-8はEUCと同じように、ASCII文字以外には0~0x80を使わないそうなので、EUCでできるならUTF-8でできないとは思えないのですが。 perl5.6以降がUTF-8に対応すると書いてありますが、対応するというのは、文字列の長さをUTF-8として測ってくれるとかその辺だそうですから、それ以前が対応していようと対応していまいと関係ないです。 事実ターミナル上ではちゃんと出力されています。 なんでここまできて動かないんでしょう。 もしかしたらIEが壊れたんでしょうか・・・。
補足
# この補足文はこの回答に対するお礼文のあとに書かれました。 NTのユーザープロファイルを作り直したところ、IEの問題だとわかりました。 ついでに-wをつけなければならなかった理由は、最初の #!/usr/local/bin/perl の行がlfでなくcrlfで終わっていたからのようです。 まさかこんなことで・・・。 改行文字を変えるというのがずばり当たっていました。 どうもありがとうございました。