Thread Hash durch if geändert? (8 answers)
Opened by bianca at 2010-01-15 20:16

bianca
 2010-01-15 20:16
#130610 #130610
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Mal kurz eine Frage, ich stehe gerade wie vor einem Baum:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl -w
use strict;
use diagnostics;

my %hash;
$hash{1}{2}             = '123';

print "vorher:\n";
foreach my $xyz (sort {lc $a cmp lc $b} keys %hash) {
        print "$xyz=\'$hash{$xyz}\'\n";
}       

if (defined $hash{0}{2}) {
}

print "nachher:\n";
foreach my $xyz (sort {lc $a cmp lc $b} keys %hash) {
        print "$xyz=\'$hash{$xyz}\'\n";
}       


Warum bringt das bei mir

Code: (dl )
1
2
3
4
5
vorher:
1='HASH(0x235278)'
nachher:
0='HASH(0x2352cc)'
1='HASH(0x235278)'


Woher kommt denn jetzt der neue Ast {0} obwohl ich nur ein if() auf Ast {0} gemacht habe ???
Kann ein if() ändernde Auswirkung haben? Falls ja, in welchen Fällen ist das so?
Danke
10 print "Hallo"
20 goto 10

View full thread Hash durch if geändert?