Thread string xy as a HASH ref while "strict refs" in use Problem
(2 answers)
Opened by string_von_hash at 2010-11-16 17:33 Code: (dl
)
my @monstros = ( %verde, %azul ); diese zeile ändert die beiden hashes in listen um, sodass @monstros nun key,value,key,value.. enthält. das heißt die hash-struktur in @monstros bleibt nicht mehr erhalten, sondern wird umgewandelt, deshalb kannst du auch nicht mit FOO als schlüssel auf einen hash-wert zugreifen, weil er nicht mehr mit dem schlüssel verbunden ist. eine lösung für dich sollten referenzen sein (ungetestet): 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 %azul = ( FOO => "azul foos secret", FII => "azul fiis secret", FAA => "azul faas secret" ); my %verde = ( FOO => "verde foos secret", BOO => "verde boos secret" ); my @monstros = ( \%verde, \%azul ); print "monstros[0]{FOO}:\n\'" . $monstros[0]->{FOO} . "\'\n\n"; Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
|