my @array = (5, 4, 3, 2, 1); foreach (0 .. $#array) { print "$_ => $array[$_]\n"; if ($array[$_] <= 3) { print "Splicing $_ => $array[$_]\n"; splice @array, $_, 1; } } #### my @array = (5, 4, 3, 2, 1); my $i = 0; SPLICER: while ($i < @array) { print "$i => $array[$i]\n"; if ($array[$i] <= 3) { print "Splicing $i => $array[$i]\n"; splice @array, $i, 1; next SPLICER; } $i++; }