#!perl; use strict; use warnings; my @test = ([ qw(A B C) ],[ qw(1 2 3 4)], [qw( x y )]); my @bigList = (); my @chunk = (); for my $ar (@test){ my @templist = @$ar; my $start = scalar @bigList; push @bigList,@templist; my $end = $#bigList; push @chunk,[$start,$end]; } print "@bigList \n"; # each smaller list for my $ar (@chunk){ my ($start,$end) = @$ar; print "@bigList[$start..$end] \n"; }