5部 関数リファレンス

map

map BLOCK LIST
map EXPR,LIST



第2引数LISTの個々の要素に対して、BLOCKEXPRを評価し、評価結果のリスト値を返します。BLOCKEXPRをリストコンテキストで評価しますので、返却値の要素数は0個の場合もあれば、複数の場合もあります。

mapの使い方

# @list の値を chr を使ってASCII に変換
@chars = map(chr, @list); 

mapは、簡単な配列処理を行う際に、威力を発揮します。以下のようなスクリプトは、mapを使うことにより1行で済ますことができます。

%hash = ();
foreach $_ (@array) {
	$hash{getkey($_)} = $_;
}

上記スクリプトは、mapを使って次のように表すことができます。

%hash = map { getkey($_) => $_ } @array;

関連記事