如何在Perl中检索所需键的值

时间:2012-07-20 16:16:15

标签: perl

我有一个带键和值的哈希。如何检索所需键的值?

%a = qw(genea brain geneb heart genec kidney gened eye);

现在我想要检索键genecgened的值。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

要一次获取许多键的值列表,请使用哈希切片:

@lots_of_values = @hash{ @lots_of_keys };

因为列表是结果,所以即使它是散列,也使用@ sigil;值将是指定键的顺序,包括hashf中不存在指定键的undef值。

答案 1 :(得分:1)

听起来你要问的是如何访问哈希的元素。正如Quentin指出的那样,这很简单,只有google-able。

perldata doc涵盖了基本问题,perlfaq4涵盖了许多其他哈希问题。

那就是说,回答你的问题:

print $a{'genec'};
print $a{'gened'};

我也不会以这种方式声明你的哈希,因为它不清楚什么是键和什么是值。相反,请考虑:

my %a = ('genea' => 'brain', 'geneb' => 'heart'); # etc.

答案 2 :(得分:0)

 $GENEC = $a{genec};
 $GENED = $a{gened};

请自己学习一下Learning Perl。你会很高兴的。