CGIが動かない
外部から送られてきたPerlCGIをサーバへセット。ウェブブラウザから動かしてみるとInternal Server Errorだと。サーバ上でシェルから動作させると、
# ./hoge.cgi : bad interpreter: No such file or directory
インタプリタがないだと? 当該スクリプトのマジックナンバはこんな。
#!/usr/bin/perl
ちゃんとあるよ。
# ls -l /usr/bin/perl -rwxr-xr-x 2 root root 15468 Oct 16 2003 /usr/bin/perl
どうもファイルの改行コードが怪しそうなのでこうやって変換。
# vi hoge.cgi (中略) :set filefromat=unix :wq
ちゃんと動作しました。文字コードって本当にややこしくてやだ。