我正在处理像哈希这样的哈希:
my %hash1 = (
key1 => 0,
key2 => 1,
key3 => 0,
);
Run Code Online (Sandbox Code Playgroud)
如果所有值(不仅仅是一个值)的%hash1值为1,我想做点什么.
怎么写呢?
作为参考,我可以写:
for $key ( keys %hash1 ) {
if ( $hash1{$key} == 1 ){
#do something
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误的,因为即使一个键的值等于1,#do something代码的一部分也会运行.我写的代码显然会做一些事情,如果至少有一个键等于1.这样的东西会很好:
for $key ( keys %hash1 ) {
if ( exists( $hash1{$key} == 1 ) ){
#do something
}
}
Run Code Online (Sandbox Code Playgroud)