my @array = (1..12); while(my @els = elements @array, 3 ){ last if grep { $_ eq 2 } @els; } my @five = elements @array 5; # Would get (4,5,6,7,8)!DWIM #### { while (my @els = elements @giantarray, 10 ){ # Do stuff last if $els[0] == $somecondition; } redo if $someothercondition; }