2011-01-20 16 views
9

私はPerl初心者ですから、これは本当にばかだと私を許してください。しかし、私はこれを理解できません。私がこのような配列を持っている場合:Perlでハッシュの配列をループする

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

この配列をループする最も簡単な方法は何ですか?私はこれがうまくいくと思いました:

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

しかし、それはありません。

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

答えて

28

@arrayハッシュ参照が含まれているので、あなたがderefecenceする->を使用する必要があります:私はちょうど何かのように行うことができますPHPの考え方とあまりにもこだわっていると思います。

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

は、インスタンスperldoc perlreftutperldoc perlrefのために、また、マニュアルを参照してください。

+0

オハイオ州の神、私は今やとても愚かではないと感じます。ありがとうございました! – Ricky

+2

も ​​'say '$$ _ {username}:$$ _ {email}" @array;と書くことができました。 –

関連する問題