my @keep; for (my $i = 0; $i < @array; $i++) { my $_ = $array[$i]; push @keep, $i unless $_ eq 'hello'; } @array = @array[@keep]; #### for (my $i = @array; $i--;) { splice @array, $i, 1 if $array[$i] eq 'hello'; }