my @a = (1,2,3,4,5,6,7,8,9,10,11,12); my $n = 4; #parameter my @lol; while (@a){ @lol = (@lol, [splice @a, 0, $n]); $i=$i+$n; }; print "$lol[2][2]\n"; #for example