5部 関数リファレンス

each

each ASSOC_ARRAY



リストコンテキストで呼び出すと、eachはハッシュのキーと値を返します。取り出し順はランダムです。配列をすべて読み込んでしまうと、空配列が返されます。スカラコンテキストで呼び出した場合は、ハッシュの次の要素にあたるキーを返します。

eachの使い方

%hash = ('Akai', 27, 'Ishikawa', 30);

# ハッシュのキーと値がなくなるまで処理する
while ( ($key, $value) = each %hash ) {
print "$key : $hash{$key}", "\n";
} 

eachの実行中には、そのハッシュに要素を追加してはいけません。deleteを使うことは問題ありません。また、eachの実行中に、eachや、keysvaluesを使うと、はじめから処理がやり直しになります。

keysvaluessortも参照してください。

関連記事