http://www.perlmonks.org?node_id=1036678


in reply to Re: foreach array - delete current row ?
in thread foreach array - delete current row ?

@list = grep( &keep_me, @list);

I would add that the  keep_me() function of the example must operate on the  $_ default scalar, which is topicalized by grep.

>perl -wMstrict -le "sub keep_me { return m{ [[:upper:]] }xms; } ;; my @list = qw(a b K d E f g h E P m e); @list = grep &keep_me, @list; print qq{@list}; " K E E P