splice

こんな配列があったとして

my @array = qw/hiroya naoya tatuya cinamon hoge hage/;

配列各要素に何らかの処理をするとする。で、例えば先頭から3つの要素だけで処理を終わらせたいってときは for文やらwhileでカウンターを回して処理する方法しかないのかなぁと思てったら

map { print "$_¥n" } splice(@array , 0 , 3);

#ouput
hiroya
naoya
tatuya

mapとspliceで切り取る方法があった。すっきりしてていいかも。spliceの三つ目の引数に配列から切り取りたい要素の個数を指定。

map { print "$_¥n" } @array[0..2];

でもいいのか。map,grepはいろんな妙技を見せてくれて面白い