Perl - New slice syntax for 5.19.4+

The new %hash{...} and @array[...] syntax returns a list of key/value (or index/value) pairs.

(おそらく @array[...] は %array[...] の間違い)

perl 5.19.4 から新たな slice syntax が導入されるらしい。

スライスと言えば

use feature qw(say);

my %hash  = map { $_ => uc $_ } 'a'..'z';
my @array = 'a'..'z';

say join ', ', @hash{ 'b', 'd', 'i' }; # B, D, I
say join ', ', @array[ 1, 5, 6 ]; # b, f, g

のことであるが、これに加えさらに、key または index も加えたリストを返す slice %hash{ ... }, %array[ ... ] が導入されるらしい。

say join ', ', %hash{ 'b', 'd', 'i' }; # b, B, d, D, i, I
say join ', ', %array[ 1, 5, 6 ]; # 1, b, 5, f, 6, g

すっきりかけていいと思う。が、 %array[ ] か %array{ } か絶対わからなくなるw