my @foo = 1..10; for (my $i = 0; $i < @foo; $i++) { print "$i ($foo[$i])\n"; if ($foo[$i] == 5 || $foo[$i] == 6) { splice(@foo, $i, 1); redo; } }