I'd iterate backwards through the array therefore avoiding the missing element syndrome when using an index counter. So if we were removing 1 and 3 from the following array...
my @array = qw( alpha beta gamma delta );
for ( my $index = $#array; $index >= 0; --$index )
{
splice @array, $index, 1
if $array[$index] =~ /e/; # remove certain elements
}