fu7mu4’s diary

はてなダイアリーから移転しました。

ハッシュの中のハッシュの...

ひま〜じんなfu7mu4が趣味のperlをしていたら、ハッシュのハッシュにスカラと配列が欲しくなったので置いてみた。こういう複雑なのは一回、2階層以上やってみないとわからないものだと思った。


こうやって定義して、

%book=(
 'hoge' => { age => 30, mail => ['hoge@gmail.com', 'hoge@fugagua.co.jp']},
 'hero' => { age => 28, mail => ['hero@gmail.com', 'herohero@mogumogu.co.jp', 'info@mogumogu.co.jp',]},
      );

こうやってアクセスする。

#hero's birthday
${$book{$hero}{'age'}}++;

あ、違ったこっちだ。

foreach my $human (keys %book){
  foreach my $address (@{$hoge{$human}{'mail'}}){
    # something to do
  print "$address\n"; 
  }
}