mapを使ってリストを変換する

my @list = (3.45, 29, 1446, 453456, -34, 0.0004);
print map { sprintf("%6g\n", $_) } @list;
  3.45
    29
  1446
453456
   -34
0.0004

map演算子はリストの要素を$_に代入して、ブロック内のコードを実行し、その式の結果をリストの要素として返す。リストの要素をまとめて処理する時に役立ちそう。mapの場合も$_を変えると、元の要素も変わるし、ブロック内が1個の式なら、ブロックを省略できる。