如何删除空哈希条目?

时间:2011-05-21 18:46:37

标签: perl

我试图找出如何删除返回值{}的哈希条目。

我正在使用类似的东西;

if (ref($snapshots{"ID\:$id"}) eq "{}") {
    print "ID $id hash no snapshots\n";
}

它似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:7)

鉴于{}ref将为"HASH"而非"{}"

if (ref $snapshots{"ID\:$id"} eq 'HASH' && !scalar keys %{$snapshots{"ID\:$id"}}) {
    delete $snapshots{"ID\:$id"};
}