Thread Fehlermeldung die nicht da sein duerfte..
(17 answers)
Opened by Aleks at 2006-06-26 17:00
Hallo Zusammen,
in einem Programm bekomme ich die allseits beliebte Meldung use of uninitial... . Nur dürfte die eigentlich gar nicht kommen.. Hier die dafür wichtigen teile der Funktion die mir Ärger macht: Code: (dl
)
1 sub test_dns_in_spectrum{ Ich fasse mal kurz meinen Gedankengang zusammen: 1) $name muss != undef sein wegen foreach (keys...; außerdem hätte ich dann vorher schon eine warnung kriegen müssen (beim initialisieren). 2) $DNS_Data_ntoa{$name} muss != undef sein, siehe 1. 3) $Spectrum_Data_ntoa{$name} wird ja vorher geprüft! muss also auch != undef sein, weil sonst ja $status != 0 wäre und die Schleife per next in die nächste Iteration geschickt wird, also nicht beim Auswerten des Ausdrucks in der If Anweisung ankommt... Ich beziehe mich hier auf die Schlüssel (exists())! Also das der Schlüssel existiert, ich meine nicht undef als value der Schlüssel. Weiß jemand wie das sein kann? Ich hab irgendwie ein Brett vorm Kopf... Ach ja, selbstverständlich lade ich als erstes strict,warnings und diagnostics. Ein Test mit defined() auf die Werte der Schlüssel bringt dasselbe Ergebnis. Gruß, Aleks |