CONTENTS


Lastmodified 2018-01-26 (金) 17:05:17


jcode.pl

perlのバージョンアップで、jcode.pl がエラーするようになった。

defined(%hash) is deprecated at ../perllib/jcode.pl line 684.
       (Maybe you should just omit the defined()?)
defined(%hash) is deprecated at ../perllib/jcode.pl line 693.
       (Maybe you should just omit the defined()?)

同様のエラーは、他のサイトでも起こっているらしく、解決策も紹介されています。

http://icepotato.cocolog-nifty.com/blog/2014/04/jcodepldefinedh.html

有り難い事です。

【解決法】

sub z2h_euc {
   local(*s, $n) = @_;
   &init_z2h_euc unless defined %z2h_euc_inited;
   $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 unless defined %z2h_sjis_inited;
   $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
   $n;
}

のコードを、

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;
}

と修正することで、回避出来るとのことです。


Total access 9205:本日 1:昨日 0

Counter: 9205, today: 1, yesterday: 0

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS