Thread Bei "for" durch einen Array delete auf sich selbst anwenden
(5 answers)
Opened by Gast at 2008-10-20 13:25
Mann kann ein Array auch rückwärts durchlaufen und die entsprechenden Elemente mit splice entfernen, aber die Lösung von pq ist empfehlenswerter!
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Carp; my @list = qw{ Tim Bob Susanne Olli Nancy }; my $idx = $#list; $list[$idx] eq 'Susanne' and splice (@list, $idx, 1) while($idx-- > 0); print Dumper \@list; Geht auch mit einer for-Schleife! Ist wahrscheinlich leichter nachzuvollziehen: Code (perl): (dl
)
1 2 3 4 5 for my $i (reverse (0..$idx)) { if ($list[$i] eq 'Susanne') { splice (@list, $i, 1); } } |