2010-07-06 61 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

相關問題