Thread Hash iterieren und ändern (8 answers)
Opened by bianca at 2012-08-15 18:22

bianca
 2012-08-15 18:22
#161004 #161004
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
'Nabend!

Ganz kurze Frage: Warum bekommt die äußere Schleife hier nicht mit, dass ich innen einen Key lösche und iteriert trotzdem auf foo1?
Erwarten würde ich, dass das print nur foo und foo2 ausgibt. Wieso ist das so? Kann ich der äußeren Schleife irgendwie beibringen, dass sie die keys neu laden soll?
Danke
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl
use strict;
use warnings;

my %test = (
    foo => 'bar',
    foo1 => 'bar1',
    foo2 => 'bar2',
);

foreach my $temp (keys %test) {
    print "Bearbeite '$temp'\n";
    delete $test{foo1};
}
Quote
d:\>perl test.pl
Bearbeite 'foo'
Bearbeite 'foo2'
Bearbeite 'foo1'
10 print "Hallo"
20 goto 10

View full thread Hash iterieren und ändern