ハッシュのスライス

ハッシュにもスライスがあるということを最近知った.使う場面が思いつかないけれど,覚えておこう.


使い方はハッシュ変数のキーの部分にリストを入れるのみ,スライスはリストなのでsigilは@になる.関係ないけれどPerl6からこのsigilが%のままなんだよなぁ.配列の要素はスカラーだから$という考え方の方が頭を使うので,ぼーっとプログラミングをしないような気がするandバグを見つけやすいような気がする.

#!/usr/bin/perl
use strict;
use warnings;

my %hash = (hoge => 1, foo => 2, bar => 3);
my @keys = ('hoge', 'foo', 'bar');

print "@hash{'hoge', 'foo', 'bar'}\n";
print "@hash{@keys}\n";

__END__
# 出力結果
1 2 3
1 2 3