我有一个看起来像这样的哈希
$VAR1 = {
'' => 0,
'example' => 17953878,
'test' => 14504908,
'arbitrary' => 14977444
};
我用基本的
打印哈希for (keys %hash) {
print "$_ : $hash{$_}";
}
在打印哈希值之前检查空键并删除它的最佳方法是什么? 还想知道如何检查密钥是'undef'还是只是一个空字符串,它是否评估为false?等
答案 0 :(得分:5)
for (keys %hash) {
length or next; # key is empty string, skip it
# $_ eq "" and next; # explicit comparison to ""
print "$_ : $hash{$_}";
}
在循环外检查exists
:
print "hash has empty string key\n" if exists($hash{""});
答案 1 :(得分:2)
如果您的数据来自外部来源,并且您知道空字符串永远不是有效输入,那么您可以这样做
delete $hash{''};
打印前。