Thread Innerhalb Hash Def auf Keys zugreifen
(42 answers)
Opened by bianca at 2013-09-08 06:08
Deklariere %test einfach eine Zeile früher.
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 #!/usr/bin/perl use strict; use warnings; use diagnostics; my %test = (); %test = ( foo => 'bar', test => $test{foo}, ); print "'$test{test}'\n"; edit: Okey, so einfach lässt er sich wohl nicht überzeugen. Es ist nun halt nicht festgelegt, in welcher Reihenfolge perl die hash Variablen beim Ausführen setzt. Allerdings verstehe ich das Ziel deines Codes auch nicht, da das gleiche Ergebnis ja mit Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 #!/usr/bin/perl use strict; use warnings; use diagnostics; my %test = (); %test = ( foo => 'bar', test => 'bar', ); print "'$test{test}'\n"; erreichbar ist. Vielleicht meintest du ja eher so was wie Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/usr/bin/perl use strict; use warnings; my %test = (); $test{foo} = \do{my $bar = 'bar'; }; $test{test} = $test{foo}; print ${$test{test}},"\n"; print ${$test{foo}},"\n"; ${$test{foo}} = 'foobar'; print ${$test{test}},"\n"; print ${$test{foo}},"\n"; wo beim ändern eines Schlüsselwertes beide gleich bleiben. Last edited: 2013-09-08 09:26:34 +0200 (CEST) |