if (%hash)
和if (defined %hash)
之间有什么区别?
my %hash ;
if ( %hash) {
print "defined ";
}
if (defined %hash) {
print "defined ";
}
答案 0 :(得分:22)
在聚合(哈希和数组)上使用“
defined
” 弃用。它曾用于报告内存是否存在 已经分配了聚合。此行为可能会消失 在未来的Perl版本中。你应该使用一个简单的 测试尺寸:if (@an_array) { print "has array elements\n" } if (%a_hash) { print "has hash members\n" }