Aud leere Referenz / Zeiger prüfen?

Hallo!

Ich lese mit XML::Simple eine XML-Datei aus:

my $daten = XMLin($xml_datei);
my $name = $daten->{name};

Wenn name jedoch nicht in der XML-Datei auftauscht, enthält $name so etwas wie HASH(0x1210e4c).

Wie kann ich einfach überprüfen, ob $name gültig ist?

Danke!

Hallo,

Ich lese mit XML::Simple eine XML-Datei aus:

my $daten = XMLin($xml_datei);
my $name = $daten->{name};

Wenn name jedoch nicht in der XML-Datei auftauscht, enthält
$name so etwas wie HASH(0x1210e4c).

Wie kann ich einfach überprüfen, ob $name gültig ist?

Ich kenne zwar XML::Simple nicht, aber reicht es dir einfach zu überprüfen ob der Hash das Element name enthälft?
if(defined($daten->{name})){…} sollte eigentlich reichen…

Grüße,
Moritz

Danke, das war´s wohl. Ich hatte danach gesucht, wie man eine Referenz auf Gültigkeit untersucht, aber es war ja gar keine.

Hm, vielleicht auch wegen so etwas sollen in Perl 6 Hashes immer mit % und Arrays immer mit @ beginnen, auch wenn nur ein Element indiziert wird. :smile: