1

我有一个问题,当我尝试查找我的 Hash of Hash 中是否存在一个条目并且如果它不存在时,Perl 会为我创建这个条目。我的代码示例:

use warnings;
use strict;

my %hash;

$hash{'key1'}{'subkey1'} = "value1";

if ( defined($hash{'key2'}{'subkey2'}) ) {
    print "Here\n";
}

print keys %hash;

此代码返回:

key1key2

如果此条目存在并且不要将其添加到 Hash 中,最好的捕获方法是什么?我尝试过“存在”“定义”,这是一回事。

谢谢你的支持。对不起我的英语。

4

1 回答 1

4

You must first test for key2 before you can test for subkey2

if (defined($hash{'key2'}) && defined($hash{'key2'}{'subkey2'}) ) {
    print "Here\n";
}

Otherwise, Perl creates $hash{'key2'} in order to check for subkey2.

于 2013-11-19T17:25:37.247 回答