如何访问Perl嵌套哈希中的某些键?

时间:2012-04-27 16:10:12

标签: perl hash

我转储了一个数据结构:

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'}
};

我想打印一个键,即第一个或第二个键来查看密钥的值?

2 个答案:

答案 0 :(得分:2)

因此,根据您发布的示例,哈希看起来像这样:

$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

答案 1 :(得分:1)

它是$bobo->{'issues'}引用的哈希中的一个键。所以你会迭代

keys %{$bobo->{'issues'}}
找到它。