Hi,
Working with delete makes the value at the given index be undefined, so going
backward or forward is irrelevant.
If you wish to take out the element completely you need to use splice. In that
case you will have to make sure not to miss elements.
4 example (Untested)
my $index = 0;
while ($index < scalar(@ARRAY)) {
if (criteria) { splice (@ARRAY,$index,1);}
else { ++$index;}
}
Hope that clear up things
Yaron Kahanovitch
----- Original Message -----
From: "Peter Gordon" <[EMAIL PROTECTED]>
To: "Perl in Israel" <[email protected]>
Sent: 22:18:48 (GMT+0200) Africa/Harare יום חמישי 24 מאי 2007
Subject: Re: [Israel.pm] How to remove elements according to a filter from
an array
It is better to iterate backwards over the array.
This method is going to miss elements.
On Thu, 2007-05-24 at 15:54 -0400, [EMAIL PROTECTED] wrote:
> Hi
>
> See perldoc -f delete.
>
> 4 example (Untested)
>
> foreach $index (0 .. $#ARRAY) {
> delete $ARRAY[$index] if (criteria);
> }
>
>
> YAron Kahanovitch
> ----- Original Message -----
> From: "Yossi Itzkovich" <[EMAIL PROTECTED]>
> To: "Perl in Israel" <[email protected]>
> Sent: 20:36:29 (GMT+0200) Africa/Harare יום חמישי 24 מאי 2007
> Subject: [Israel.pm] How to remove elements according to a filter from an
> array
>
> Hi,
>
> Assuming I have a big array, and I want to remove elemnts according to a
> criteria, how do I do it ?
> Please note, I am not asking about getting a new list of elements that
> passed the filter (like grep does), but removing the items from the
> original list. For a big array (and assuming that arrays are
> implemented with linked list (is it ?)), then removing items from the
> original list might be much faster.
>
>
> Yossi
>
> _______________________________________________
> Perl mailing list
> [email protected]
> http://perl.org.il/mailman/listinfo/perl
>
>
> _______________________________________________
> Perl mailing list
> [email protected]
> http://perl.org.il/mailman/listinfo/perl
_______________________________________________
Perl mailing list
[email protected]
http://perl.org.il/mailman/listinfo/perl
_______________________________________________
Perl mailing list
[email protected]
http://perl.org.il/mailman/listinfo/perl