循环遍历Perl中的一系列哈希

时间:2011-01-20 13:23:22

标签: perl

我是Perl的新手,所以请原谅我,如果这真的很愚蠢,但我无法弄明白。如果我有这样的数组:

my @array = (
  {username => 'user1', email => 'user1@email' },
  {username => 'user2', email => 'user2@email' },
  {username => 'user2', email => 'user3@email' }
);

循环遍历此数组的最简单方法是什么?我觉得这样的事情会奏效:

print "$_{username} : $_{email}\n" foreach (@array);

但事实并非如此。我想我太习惯了PHP思维模式,我可以做一些像:

foreach ($array as $user) { echo "$user['username'] : $user['email']\n"; }

1 个答案:

答案 0 :(得分:28)

@array包含哈希引用,因此您需要使用->来删除。

print "$_->{username} : $_->{email}\n" foreach (@array);

另请参阅文档,例如perldoc perlreftutperldoc perlref