Thread Mit "defined" wird hash key angelegt.
(6 answers)
Opened by BobderHund at 2012-04-25 20:36
Hallo,
ich möchte gerne überprüfen ob ein Hash existiert oder nicht. Dies überprüfe ich mit "defined". In meinem Beispiel existiert der Hash nicht. Aber nach einer "if defined" abfrage wird er anscheinend erzeugt. Anbei mein Test Script. Bei der ersten Schleife wird nichts zurückgegeben und bei der If defined abfrage wird "no" ausgegeben. Doch bei der zweiten schleife wird der hash ausgegeben. Wie kann ich das erzeugen dieses Hashes unterbinden? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/perl -w foreach $key (keys %value_xml){ if($key eq "IAFIM"){ foreach $dis (sort keys %{$value_xml{$key}}){ print "\n4: $key - $dis"; } } } if (defined $value_xml{"IAFIM"}{"PLMN-PLMN/MRBTS-999977/LNBTS-999977/LNCEL-1"}{"ocAcBarAC"}) { print "yes"; }else{ print "no";} foreach $key (keys %value_xml){ if($key eq "IAFIM"){ foreach $dis (sort keys %{$value_xml{$key}}){ print "\n4: $key - $dis"; } } } Vielen Dank. Gruß modedit Editiert von GwenDragon: tab-Schrittweite auf 4 gesetzt Last edited: 2012-04-26 09:37:48 +0200 (CEST) |