Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

Perlの配列をmapしてリファレンスに変換する方法を知りたい

Perlにおいて、あるリストのリファレンス(すなわち配列)がありその中身をmapしてまたリファレンスに戻したい。

$ref_array = [1, 2, 3, 4, 5];
@array = @$ref_array;
@new_array = map {...} @array;
$new_ref_array = \@new_array;
# -----
$new_ref_array = \{map {...} @$ref_array}; # does not work -- recognised as hashmap
# -----

コードを見ればわかるが、mapを包む部分がハッシュとして認識されてしまい、配列として処理されなくなってしまう。ブレースに+記号を付けることで強制的にハッシュとして認識させる記法が存在するが、その逆に強制的にブロックとして認識させる方法はないのだろうか。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?