Reality Geschrieben 11. Januar 2006 Geschrieben 11. Januar 2006 Hallo, folgendes: ich lese so: my $data=$xml->XMLin(<ssrtemp-2.xml>,ForceArray=>1,KeyAttr=>[]) || die $!; Daten aus einem XML-File aus, die dann soweit ich das verstanden habe in ein hash geschrieben werden. Im späteren Schritt greife ich auf einzelne Stellen zu und lasse den Text in ein RTF-Dokument ausgeben. Wenn aber an dieser bestimmten Stelle kein Text steht, dann bekomme ich folgende ausgabe: HASH(0x...). Es wird hier praktisch die REferenz ausgegeben, oder verstehe ich das falsch? Hat jemand ne ahnung, wie ich, wenn an der Zugriffsstelle kein Text steht, auch wirklich nix ausgeben kann. Das heißt, wie kann ich die ausgabe von diesen Referenzen ausschalten. Wär nett wenn ihr mich aufklärt und mir helft, denn ich habe gerade erst begonnen perl zu programmieren. Mfg, Reality Zitieren
iscariot Geschrieben 14. Januar 2006 Geschrieben 14. Januar 2006 Als erstes solltest du dir mittels Data::Dumper mal deine Daten angucken, damit du ungefaehr weisst, was dich erwartet. use Data::Dumper; ... print Dumper $data; Zu deinem Problem: perl -wle '$a={a=>1,b=>2,c=>3}; print $a' HASH(0x8151f00) HASH(0x8151f00) steht hier fuer eine Hashreferenz. Willst du den Hash dereferenzieren, dann kannst du die ihn mittels %$a ansprechen. Falls in der Referenz selbst nochmal Referenzen auftreten, dann sprichst du diese per %{ $data->{referenz} } an. Am Besten wirfst du mal einen Blick in die Manpage "perlreftut". Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.