SQLの窓

2012年08月22日


Perlで、『defined(%hash) is deprecated at jcode.pl line 684』の対処

WEB 上に正解をみつけられなかったので、実際のコードをテストして検証しましたが、以下のコードで良いと思います。( 二回呼び出して二回目に初期化が処理されないのを確認しました )

このメッセージは『非推奨』を意味しますが、それらの内容や対処方法はこちらを参考にしています
defined(%hash) is deprecated
(D deprecated) defined() は未定義の スカラ 値を調べるので、ハッシュに 使っても普通は無意味です。 ハッシュが空かどうかを調べたい場合は、例えば単に if (%hash) { # not empty } としてください。
sub z2h_euc {
    local(*s, $n) = @_;
    if ( !%z2h_euc ) {
        &init_z2h_euc;
    }
#    &init_z2h_euc unless defined %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) = @_;
    if ( !%z2h_sjis ) {
        &init_z2h_sjis;
    }
#    &init_z2h_sjis unless defined %z2h_sjis;
    $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
    $n;
}

WEB 上に % を $ に置き換えているコードを見かけましたが、それでは判断されずに毎回初期化が実行されます。但し、それでも実害は無いと思われます。


タグ:トラブル
【記録の最新記事】
posted by lightbox at 2012-08-22 10:52 | 記録 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり