ようこそゲストさん

はんかくさい日報

2016/12/10(土) perl 5.24 にしたら ports の XPDFJ は動作しない

2016/12/10 18:36 サーバ運営・管理
提起の通りです。
サーバのエラーログに
Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at /usr/local/lib/perl5/site_perl/XPDFJ.pm line 757.
と文句を垂れますので、XPDFJ.pm の 757行目を以下の要領で直接修正します。

《変更前》
    if( defined %{$tab->{$name}} && $name !~ /::$/ ) {
《変更後》
    if ((%{$tab->{$name}})  && ($name !~ /::$/ )) {
こうすると、perl 5.24 でも動作するようです。
筆者がメンテナンスを請け負っている企業のサーバでは動作確認できました。

原因は、perl 5.24 にて defined(%hash) の構文を致命的エラーとするように変更されたためです。何故こうするのかはよく判りませんが。。。

名前:  非公開コメント   

E-Mail(任意/非公開):
URL(任意):
  • TB-URL  http://hankakusai.basekernel.co.jp/cgi-bin/adiary/adiary.cgi/0656/tb/