< p >if (%hash)和if (defined %hash)之间的区别是什么?
my %hash ;
if ( %hash) {
print "defined ";
}
if (defined %hash) {
print "defined ";
}
已弃用在聚合类型(哈希和数组)上使用"
defined
"。它曾经用于报告是否为该聚合类型分配了内存。这种行为可能会在未来的Perl版本中消失。您应该改用简单的大小测试:if (@an_array) { print "has array elements\n" } if (%a_hash) { print "has hash members\n" }
if( keys %hash )
。http://perldoc.perl.org/perl583delta.html#Core-Enhancements - Schwern