もう改行コードのミスはしないぞ!(すぐ忘れそうだけど
というわけで、だいぶ昔に作られたCGIを動かしてみましょう。
readmeに書いてある通りにファイルを配置してパーミッションを変更。
で、動かしてみるとやっぱり動かないw(ノ∀`)
エラーログを見ると
Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at ./jcode.pl
とある。
defined(%hash)なんて使えねーよ と怒られているんだけど
調べてみるとPerl5?ではハッシュ変数に対してdefinedが使えなくなったようだ。
jcode.plという昔からある"おなじみ"のモジュールで、
しかも動かそうとしたCGIスクリプトに同梱されていた古いものなので
起こるべくして起きた問題か。
嫌な予感的中である。
とりあえず、jcode.plの新しいものを探そう。
2.13が最新版っぽい感じだけど、日付は2000年。
これは・・・解決しないんじゃないか?
予想通り効果なし。
調べると回避方法はあったが、jcode.plに手を加える必要がある。
多分これでも問題ないと思うけど、実績のあるソースに手を加えるのが嫌。
本当に影響がないか調査するのが面倒だし。
それ以外にはjacode.plを使うという手もある。
jcode.plと置き換えて、
↓
require 'jacode.pl'
にするだけ。
これで問題なく動いた。完全互換なのか気になる所だけど。
Jcode.pmを使うという手もあるけど、別のエラーが出て面倒になったので却下した。
ひとまず設定画面は動いた。
設定の保存も問題なさそうだ。
別のモジュールを呼び出したらまた500エラー。
ほとんど進んでないよマジ勘弁してくださいw(ノ∀`)