我使用以下代码来检查哈希是否为空.有更好的方法,这是否安全使用?
if (!keys %hash) { print "Empty";}
Run Code Online (Sandbox Code Playgroud)
TLP*_*TLP 87
if (%hash)
Run Code Online (Sandbox Code Playgroud)
会工作得很好.
如果在标量上下文中计算哈希值,则在哈希值为空时返回false.如果有任何键/值对,则返回true; 更准确地说,返回的值是一个字符串,由使用的桶数和分配的桶数组成,用斜杠分隔.
DVK*_*DVK 20
更简单:
if (!%hash) {
print "Empty";
}
Run Code Online (Sandbox Code Playgroud)
!强加标量上下文,并在标量上下文中计算哈希返回:
false 如果有零键(文档中没有定义,但实验上返回 0
一个字符串,表示有多少使用/分配的桶用于> 0键,这当然不是假的(例如"3/6")