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
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".
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden