如何检查Perl中Hash中的多个键

时间:2013-04-06 21:16:08

标签: perl

我试图找出一种在散列中存储多个键而不使其成为分层的方法。我知道如何迭代分层哈希,但是下面的例子中有没有?

我应该使用my %Hash={value1, value2}{Value3}来获得value1吗?这两个值需要耦合,并且像{value1}{value2}{value3}这样的分层哈希似乎很复杂。

到目前为止,当我$Hash{$_ }时,我同时得到value1value2,但出于我的目的,我需要检查value1,{{1} },或两者都存在,并根据哪一个做value2语句。

1 个答案:

答案 0 :(得分:1)

$hash{$k1}{$k2}毫无意义,因为您想要$k1$k2独立查找。他们彼此没有关系。所以,你的结构显然是

$hash{$k} = $val;

所以你的支票将是

if ($hash{$k1} && $hash{$k2}) {
   ...
}
elsif ($hash{$k1}) {
   ...
}
elsif ($hash{$k2}) {
   ...
}

(根据您的数据,您可能必须使用exists($hash{...})defined($hash{...})。)