2012-04-27 13 views
0

私は、データ構造ダンプ: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'} 
}; 

私は、キーの値を確認するためにキー、すなわち、第一又は第二を印刷したいですか?

答えて

2

だから、あなたが掲示例に基づいて、ハッシュは次のようになります。

$bobo = { 
    issues => { 
     155 => { 
      name  => 'Gender', 
      url_name => 'gender', 
     }, 
    }, 
}; 

155」あなたのコード例ではキーです。鍵を抽出するには、keysを使用します。

my $val = $bobo->{issues}{155};

その後$val次のようになりますハッシュリファレンス含まれます:155インデックスは、あなたが言うことができると値を取得する

my @keys = keys %{$bobo->{issues}};

しかし

{ 
    name  => 'Gender', 
    url_name => 'gender' 
} 

をお持ち見てくださいperldoc perlreftut

+0

詳細な回答ありがとうございます。実際には、一度に1つのキーを印刷したいだけです。私の更新された質問part2を見てください。 – mamesaye

+0

それを得ました!配列@keysを通らなければならない – mamesaye

1

$bobo->{'issues'}で参照されるハッシュのキーです。だから、あなたは反復するだろう

keys %{$bobo->{'issues'}} 

それを見つけることができます。

関連する問題