|
わけあって、Windows上でPerl使って cgi を動かす必要が出た。 それも、スクリプトとjcode.plは、2003年製である。 このWindows上のPerlはちょっと最近のもの。 それで、お気に入りのcgiスクリプトを実行したら「502エラー」がブラウザ上に表示された。 それで、サーバー上でコマンドプロンプトを開き、Perl xxxxx.cgiを実行した。 そしたら、・・・
defined(%hash) is deprecated at ../perllib/jcode.pl line 684. (Maybe you should just omit the defined()?)
となってしまった。 結構ハマッたけど、検索してみたらあっさりヒットした。
http://icepotato.cocolog-nifty.com/blog/2014/04/jcodepldefinedh.html (jcode.plでdefined(%hash) is deprecated at ../perllib/jcode.pl line 684.のエラー)
コメント投稿不可だし、メールアドレスの記載もないのでここにてお礼。 助かりました。ありがとうございます。
正解ソースだけ下にお借りします。
sub z2h_euc { local(*s, $n) = @_; &init_z2h_euc if !%z2h_euc; $s =~ s/($re_euc_c|$re_euc_kana)/$z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1/geo; $n; }
sub z2h_sjis { local(*s, $n) = @_; &init_z2h_sjis if !%z2h_sjis; $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo; $n; }
それと、上とは違うけど、ブラウザでFTPサイトにアクセスすると「FTPフォルダ一覧」が表示それない状況に陥った。 これもハマッタけど、よくよく見たら設定箇所があった。
IE -> インターネツトのプロパテイ -> 詳細設定 -> パッシブ FTP(ファイアウォールおよび DSL モデム互換用)を使用する・・・のチェックを外してOK
解決でした。
|
|
|