use strict; use warnings; my @bigArry = 0 .. 99; my $max = 17; my @sliced; push @sliced, [ splice @bigArry, 0, $max ] while @bigArry; use Data::Dumper; print Dumper \@sliced;