我试图找出一种在散列中存储多个键而不使其成为分层的方法。我知道如何迭代分层哈希,但是下面的例子中有没有?
我应该使用my %Hash={value1, value2}{Value3}
来获得value1吗?这两个值需要耦合,并且像{value1}{value2}{value3}
这样的分层哈希似乎很复杂。
到目前为止,当我$Hash{$_ }
时,我同时得到value1
和value2
,但出于我的目的,我需要检查value1
,{{1} },或两者都存在,并根据哪一个做value2
语句。
答案 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{...})
。)