Veröffentlicht 11. Januar 200619 j 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
14. Januar 200619 j 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".
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.