如何访问Perl嵌套散列中的某些键?
问题描述:
我甩的数据结构:如何访问Perl嵌套散列中的某些键?
print Dumper($bobo->{'issues'});
,并得到:
$VAR1 = {
'155' => {
'name' => 'Gender',
'url_name' => 'gender'
}
};
我怎样才能提取155
?
怎么样,如果我有:
$VAR1 = {
'155' => {'name' => 'Gender', 'url_name' => 'gender'},
'11' => {'name' => 'Toddler', 'url_name' => 'toddler'},
'30' => {'name' => 'Lolo', 'url_name' => 'lolo'}
};
我想打印一个键,即第一或第二关键看的价值?
答
因此,根据您发布的例子,哈希看起来是这样的:
$bobo = {
issues => {
155 => {
name => 'Gender',
url_name => 'gender',
},
},
};
“155
”是在你的示例代码的关键。要提取密钥,您可以使用keys
。
my @keys = keys %{$bobo->{issues}};
但要获得值155
索引,你可以说:
my $val = $bobo->{issues}{155};
然后$val
将包含hashref,看起来像这样:
{
name => 'Gender',
url_name => 'gender'
}
有看看perldoc perlreftut
。
答
它是由$bobo->{'issues'}
引用的散列值中的一个关键字。所以你可以遍历
keys %{$bobo->{'issues'}}
找到它。
感谢您的详细解答。实际上我只想一次打印一个键。看到我更新的问题part2。 – mamesaye 2012-04-27 16:39:43
明白了!只需要通过数组@key – mamesaye 2012-04-27 16:55:18