ハッシュをリストとして扱ってみる

前回のエントリで、ハッシュを作るときの書式

my %hash = ('foo'=>42, 'bar'=>23, 'baz'=>3.14);

が、リストを代入しているように見えて仕方が無い、みたいな話しをしたけど、それの続きっぽい感じで。じゃあ、%hashをリストとしてforeachにぶち込んでみるとどうなるやら。http://ideone.com/3QJZn

my %hash = ('foo'=>42, 'bar'=>23, 'baz'=>3.14);
foreach (%hash)
{
  print "$_ ";
}

なぬ!
本の後の方にも書いてあったけど、ハッシュをリストとして扱うと、(キー1, 値1, キー2, 値2, キー3, 値3, ...) ってなるんだって。
はい、ここでまた混乱ですよ...。じゃあ、ハッシュに (キー1, 値1, キー2, 値2, キー3, 値3, ...) ってリストを代入するとどうなるんだろう。やってみた。http://ideone.com/oBMSW

my %hash = ('foo', 42, 'bar', 23, 'baz', 3.14);
foreach (keys %hash)
{
  print "$_ -> $hash{$_}\n";
}

ナ ナンダッテー!! Ω ΩΩ. ...
ちゃんとハッシュできとるし。ますます 'foo'=>42 が何なのか分からなくなった。=>演算子の詳細を調べれば分かるかな?ってか=>って演算子なのかな。