>perl -wMstrict -le "use List::MoreUtils qw(natatime); use Data::Dumper; ;; my @data = ('A','B','C','D','E','F','G','H','I','J','K','L','M'); ;; my $it = natatime 4, @data; my @groups; while (my @group = $it->()) { push @groups, \@group; } print Dumper \@groups; " $VAR1 = [ [ 'A', 'B', 'C', 'D' ], [ 'E', 'F', 'G', 'H' ], [ 'I', 'J', 'K', 'L' ], [ 'M' ] ];