2015/09/17(木)fml Ver 4.04 の Perl 5.22 対応

2017/10/12 19:02 サーバ運営・管理
収容ユーザからの連絡で発覚・・orz

fml はPerl で動作する有名なメーリングリスト提供ソフトウェアで、弊社でも使っていますが、どうやら Perl 5.22 にすると動作しなくなるようです。
12年も前に作られた代物なので、これだけ長寿命なのも素晴らしいですが、さらなる長寿化ヾ(^^; を図らないといけないので、対策しました。

以下の2箇所を修正することで対応できるようです。
fml.pl 693行目:(単にコメントアウトする)
#    $* = 0;                    # match one line
jcode.pl 677行目以降:(以下のように変更)
参考 jcode.plでdefined(%hash) is deprecated at ../perllib/jcode.pl line 684.のエラー 〔アイスポテト - C#|Tex|Perl|東京凰籃学院〕
sub z2h_euc {
    local(*s, $n) = @_;
#    &init_z2h_euc unless defined %z2h_euc;
    &init_z2h_euc if (! %z2h_euc) ;
#    $s =~ s/($re_euc_c|$re_euc_kana)/
#       $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
#    /geo;
    $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;
    &init_z2h_sjis if (! %z2h_sjis) ;
    $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
    $n;
}
680行目付近の3行コメントアウトの部分は、3行にまたがってる判りにくい部分を単に1行にまとめているだけなので、修正しなくても大丈夫だと思います。