my @output = sortList( @flatlist ); foreach my $array_ref ( @output ) { print "@{$array_ref}\n"; } #### use strict; use warnings; use List::MoreUtils qw( natatime ); my @biglist = (1 .. 1444); foreach my $array_ref ( sortList( @biglist ) ) { print "@{$array_ref}\n"; } sub sortList { my $it = natatime 38, @_; my @output; while ( my @sublist = $it->() ) { push @output, \@sublist; } return @output; }