Thread Löschen von Hash Elementen-Paar in foreach-Schleife
(9 answers)
Opened by yippi at 2014-01-21 01:39
Wenn du - wie es dringend zu empfehlen ist - mit strict und warnings arbeitest siehst du, was falsch läuft:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #!/usr/bin/perl use strict; use warnings; use 5.010; my %hash; $hash{aa}='test1'; $hash{bb}='test2'; $hash{cc}='test1'; $hash{dd}='test3'; foreach my $key (sort keys %hash) { print "\nSchluessel: $key Wert: $hash{$key}"; foreach my $keyvergleich (keys %hash) { if( $hash{$key} eq $hash{$keyvergleich} ) { delete $hash{$keyvergleich}; say "\nLoesche $keyvergleich"; } } } Quote Während zwei Schleifen über die Keys iterieren löscht du diese. Keine gute Idee. Und wenn du verrätst, was du erreichen willst können wir dir helfen, lauffähigen Code zu erstellen. Last edited: 2014-01-21 06:54:50 +0100 (CET) 10 print "Hallo"
20 goto 10 |