2015年だけれど Perl の話を書きます。 Perl には map とか grep とかのべんりな組み込みの関数があって、いわゆる map とか filter といったことが出来る。しかし、こいつらは Array Context で値を返すので、リファレンスが欲しいときは困る。 なんか率直に書くと以下のような感じになる。 配列のリファレンスならこんな感じ。 my $array = [1, 2, 3, 4, 5]; my $array2 = [ map { $_ * 2 } @$array ]; ハッシュならこんな感じ。 my $hash = { a => 1, b => 2 }; my $hash2 = { map { $_ => $hash->{$_} * 2 } keys %$hash }; しかし、どうにも分かりにくい。 特にコードが長くなる場合は、{ ... } が何を意味して