for my $i (@array[0..(@array<10?$#array:10)]){ }
1 2 3 4 5 6 7
my @temp=@array; while(my $i=shift(@temp)) { last if(@temp+10<@array); # ... } undef(@arraytemp);