The sub definition could go something like this, if you don't mind making a copy of the array in order to do the work:yoink( \@arr, $var ); # pass an array ref and a scalar
The "yoink" could also use the "splice" function (see perldoc -f splice) to edit the array in place; I suspect the "optimal" choice would depend on array size and number of elements being removed -- with big arrays, doing just a few edits will go best with splice, but doing lots of edits might go quicker using selective copying to a separate array. (For small arrays, there won't be a noticeable difference.)sub yoink { my ($arr_ref, $kill_pattern) = @_; my @out_arr; for (@$arr_ref) { push @out_arr, $_ unless (/^$kill_pattern$/) } @$arr_ref = @out_arr; }
update: IO's solution is better than mine, of course. (I just forgot that I should've known better...)
In reply to Re: how to rm an element from an array?
by graff
in thread how to rm an element from an array?
by waxmop
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |