my @myArray = (1..100); my @myMainArray = (); my $c = 1; foreach (@myArray){ if(c++ = 5){ #1.some splitting occurs and assign to a 5 element array #2.push 5 element array into main array #3.reset c = 1; } } #### my @myArrayResult = @myMainArray; foreach my $o(@myArrayResult){ foreach my $i($o){ #print out } }