Thread Hash mit Hash-Kombinationen
(7 answers)
Opened by jan99 at 2015-08-31 14:55
Moin !
ich muss nochmal auf mein Lieblingsthema mit den Hashes und Array's nach längerer Zeit zurückkommen. Ziel soll es sein ein Hash mit folgender Struktur abzubilden.... Quote (Fehler in der Klammerbezeichnung sind unbeabsichtigt!) Nun habe ich bisher folgenden Code: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 my $flag_RibbonTabSource = 0; my $flag_RibbonPanelSource = 0; my $Ribbon_Name = ''; my $Ribbon_UID = ''; my $Ribbon_SourceRef_UID = ''; my $Ribbon_SourceRef_PanelID = ''; my @RibbonPanelSourceReference_UID = (); my @RibbonPanelSourceReference_PenelID = (); my %RibbonTabSource=(); my %RibbonPanelSource=(); # dann werden in einer Schleife Werte ausgelesen und entsprechend den nachfolgenden Variablen zugewiesen. ... $Ribbon_SourceRef_UID = get_xml_tag_subvalue_string($_,"UID"); push(@RibbonPanelSourceReference_UID, $Ribbon_SourceRef_UID); $Ribbon_SourceRef_PanelID = get_xml_tag_subvalue_string($_,"PanelID"); push(@RibbonPanelSourceReference_PenelID, $Ribbon_SourceRef_PanelID); # dann möchte ich den Hashes zusammenbauen ... if (!defined($RibbonTabSource{$Ribbon_UID})){ # einbinden der zugehörigen Tabs my %tmp_TabSource = (); $tmp_TabSource{'Name'} = $Ribbon_Name; $tmp_TabSource{'UID'} = @RibbonPanelSourceReference_UID; $tmp_TabSource{'PenelID'} = @RibbonPanelSourceReference_PenelID; $RibbonTabSource{$Ribbon_UID}=%tmp_TabSource; } else { print "*** RibbonTabSource - ".$Ribbon_UID." mehrfach !!!!\n"; } Wenn das alles durchgelaufen ist, dann sollen Werte aufgelistet werden... Code (perl): (dl
)
1 2 3 4 5 6 print "--- RibbonTabSource ---\n"; for my $index (sort keys %RibbonTabSource){ my %data = $RibbonTabSource{$index}; # das ist Zeile 163 print $index."\n"; print $index." - ".$data{'Name'}."\n"; } Wenn ich das Skript ausführe bekomme ich folgende Meldung: Quote Kann mir einer weiterhelfen wo ich meinen Bock geschossen habe? Gruß Jan Last edited: 2015-08-31 22:53:49 +0200 (CEST) perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
|