【问题标题】:Perl - Hash of Hash - test if entry existsPerl - Hash of Hash - 测试条目是否存在
【发布时间】:2013-12-03 09:07:47
【问题描述】:

我有一个问题,当我尝试查找我的 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

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

感谢您的支持。 对不起我的英语。

【问题讨论】:

标签: perl hash hash-of-hashes


【解决方案1】:

您必须先测试key2,然后才能测试subkey2

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

否则,Perl 创建$hash{'key2'} 以检查subkey2

【讨论】:

  • 或者直接加入autovivification 模块并包含no autovivification; pragma。
猜你喜欢
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 2010-11-30
  • 2016-02-04
相关资源
最近更新 更多