2010-07-06 64 views

回答

22

perldoc -f defined

上聚集体(散列和阵列)使用 “defined” 是 弃用。它用于报告是否曾经分配了该集合的内存。在未来的Perl版本中,此行为可能会消失 。你应该使用一个简单的 测试尺寸:

if (@an_array) { print "has array elements\n" } 
    if (%a_hash) { print "has hash members\n" } 
+0

5.8.3之前有与标量上下文绑哈希值的问题。他们通常会返回0.如果您在编写5.8.3之前版本的代码,请使用'if(keys%hash)'http://perldoc.perl.org/perl583delta.html#Core-Enhancements – Schwern 2010-07-07 03:25:54

相关问题