原因は解らないらしい。
flat memo(http://logic.stepserver.jp/memo.cgi/archive/542/)には
1. cgiスクリプトをバイナリモードでアップロードする。
と書いてありますが、
交差点の真ん中で(http://sagittarius.dip.jp/toshi/premature.php)には
1、ファイル転送モードが間違っている
Binaryモードで転送すると動かないのでASCIIモードで転送してください。
と書いてあります。はたしてどちらが正しいのか。
上記2サイトに掲載されている解決方法をまとめると。
- ファイルのアップロード方法(バイナリモードかアスキーモードか)
- 改行コードを確認しLFにする。
- スクリプトの最後に1;↓↓(改行×2)を付け足す。
- perlの一行目を「#!/usr/bin/perl -」とする。
- perlのパスが間違っているかどうか確認する。
- 文字コード変換が上手くいっていないかもしれないので、サーバがLinux系ならばECUにする。
事で解決できるようです。
他にも、ディレクトリのパーミッションやcgiのパーミッションがおかしいというのもあるようです。
Movabletypeで良く500エラーが出てる人は試してみるのも有かもしれません。
参考
- flat memo(http://logic.stepserver.jp/memo.cgi/archive/542/)
- 交差点の真ん中で(http://sagittarius.dip.jp/toshi/premature.php)


