map 演算子を使って、キーのリストから
map
(キー, 値, キー, 値, キー, 値, ...)
というリストを作成し、そのリストを使ってハッシュを初期化することができます。
my @keys = (1, 2, 3, 4); my %hash = map { $_, $_ ** 2 } @keys;
上記の例では、以下のような内容のハッシュを生成しています。
1 => 1, 2 => 4, 3 => 9, 4 => 16