ハッシュが空かどうかを調べたい
ハッシュが空かどうかを調べたいときは、以下のサンプルを参考にしてください。
決して、defined()の否定を使わないように、defined()は、スカラーで未定義の判定に使います。
◆サンプル
%hash =(); #%hash = (aaa => 111, bbb => 222, ccc => 333); if (!%hash) { print '空です!', "\n"; } else{ print '空でない!', "\n"; }
◆引用
defined(%hash) is deprecated
http://perldoc.jp/docs/perl/5.6.1/perldiag.pod
(D deprecated) defined() は未定義の スカラ 値を調べるので、ハッシュに使っても普通は無意味です。ハッシュが空かどうかを調べたい場合は、例えば単に if (%hash) { # not empty } としてください。
◆リンクメモ
- perldiag - さまざまな Perl 診断メッセージ
http://perldoc.jp/docs/perl/5.6.1/perldiag.pod