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%RibbonTabSource = ( "RBP_100" =>
(
Name => "EBL_KOO"
UID => ("RBN_1" "RBN_2" "RBN_3" "RBN_4")
PenelID => ("RBN_1" "RBN_2" "RBN_3" "RBN_4")
)
"RBP_101" =>
(
Name => "EBL_Übersicht"
UID => ("RBN_1" "RBN_23" "RBN_3" "RBN_4")
PenelID => ("RBN_1" "RBN_52" "RBN_3" "RBN_4")
) )
)
(Fehler in der Klammerbezeichnung sind unbeabsichtigt!)
Nun habe ich bisher folgenden Code:
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=();
...
$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);
if (!defined($RibbonTabSource{$Ribbon_UID})){
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...
print "--- RibbonTabSource ---\n";
for my $index (sort keys %RibbonTabSource){
my %data = $RibbonTabSource{$index};
print $index."\n";
print $index." - ".$data{'Name'}."\n";
}
Wenn ich das Skript ausführe bekomme ich folgende Meldung:
QuoteOdd number of elements in hash assignment at cuixRibbonReader.pl line 163.
RBN_0111
Use of uninitialized value in concatenation (.) or string at cuixRibbonReader.pl
line 165.
RBN_0111 -
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