久々にPerlを触ったら、500 Internal Server ErrorでログにPremature end of script headers: cgiwrap, referer: https://example.com/hoge.html
というエラーが記録される現象に遭遇。
検索すると改行コードの話が出てきますが、今回はコールした関数がプログラム中に存在しないことが原因(関数名のtypo)でした。
それから、やんごとなき事情でFFFTPを使用したのですが、FFFTPの設定でアスキーモードのファイルアップロードでは自動的にCR+LFからLFのみに変換される(逆にダウンロードはLF→CR+LFへ変換される)ようなので、改行コードについては今回は気にしなくて良かったようです。
一応、こういう事例もあるということで簡単ながらメモしておきます。
参考
エラーログの情報
- 「Premature end of script headers」の対処方法: 小粋空間
- cgi界にはびこる民間療法 Premature end of script headers – それはそれ、これはこれ