Thread Hash in einem Hash mit variablen Keys (13 answers)
Opened by Gast at 2003-10-23 22:02

Gast Gast
 2003-10-23 22:02
#67029 #67029
Irgendwas mach ich falsch, ich hab schon tausend Sachen ausprobiert. Ich will innerhalb eines Hashes immer wieder neue Keys anlegen, eine Variable die einen namen enthält soll der Key sein. Diesem Key möchte ich als Hashpaar einen anderen Hash zuordenen der vorher mit Datenpaaren gefüllt wird. Es scheint auch alles zu klappen, jedoch kann ich das ganze nicht mehr auslesen. Hier mein Codebeispiel:

#Init Äusserer Hash
%provinces = (
);

#Init Innerer Hash
%provincecontent = (
   name => 0,
   bossmakers => 0,
);


while (<FH1>) {

#für jeden durchlauf einen neuen key einlesen
$key = getKey();

#Füllen des inneren Hashes
$provincecontent {'name'} = $key;
$provincecontent {'bossmakers'} = 1200;

#zuweisen mit dem namen als key
$provinces {$key} = %provincecontent;

#alternative
#$provinces {$key} = $provincecontent;



#nun versuche ich das ganze wieder auszulesen (das ist ein variante die ich im forum gefunden habe, ich hab das selbe auch noch erfolglos mit ($testkey, #$testvalue) = each %provinces) probiert ... und noch einige andere varianten)

foreach my $key (keys %provinces)
{  
   print $key; #hier werden die richtigen namen ausgegeben
   foreach my $subkey (keys %{$provinces{$key}})
   {
       print $subkey; #hier komme ich erst gar nicht hin
       print "test";
       print "$key => $subkey : " . $provinces{$key}{$subkey} . " ";
   }
}



wenn mir jemand weiterhelfen könnte ... danke!

View full thread Hash in einem Hash mit variablen Keys