my $elementsToGet = 2; # how many elements shell be in @sublist my @newElements = @elements; while (my @subList = splice(@newElements, 0, $elementsToGet)) { # do something with @subList } # while Beware that @newElements might be empty after the while...