mapを使って配列からハッシュを作成
「バタバタしていて…」と心の中でできない社会人の典型な言い訳している内に
ブログの最終更新日から10日も経っていました。反省します。
今日、知ったこと
map関数を使うと配列からハッシュを作れる。
例えば配列の要素をキーにして、バリューには1を入れたいときは
%hash = map{ $_, 1 } @array;
mapで配列の要素を一つずつ取り出して、キー, バリューの形で返します。
一応ハッシュができていることを確認しました。
$ perl -e 'my @array = qw/aaa bbb ccc/; my %hash = map{ $_, 1 } @array; foreach my $key ( keys( %hash ) ) { print $key . " => " . $hash{$key} . "\n"; }' bbb => 1 aaa => 1 ccc => 1
こういう書き方もできるみたいです。
my %hash = map{ @_ => 1 } @array;
こちらのほうがハッシュっぽいですね(よくわかりませんが)。