伙计们,
据我了解,exists
函数将检查哈希中是否存在密钥。所以对于下面提到的情况,key1
还是key2
没有定义。哈希引用$var
没有键。
在这种情况下,调用keys(%{$var})
时应返回 undef。
但是,它返回 1. 我在这里想念什么?
my $var;
if (exists $var->{key1}->{key2}) {
$var->{key1}->{key2} = 1;
}
my $keys = keys(%{$var});
print $keys; #prints 1 to output console