my @array = qw(hi hello howdy); my @hellos = grep_and_remove { $_ eq 'hello' } @array; use Data::Dumper; print Dumper \@array; __END__ $VAR1 = [ 'hi', 'howdy' ];