Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^2: Why XML::Smart module can't work

by sanguine_perl (Initiate)
on Dec 18, 2013 at 02:32 UTC ( #1067576=note: print w/replies, xml ) Need Help??

in reply to Re: Why XML::Smart model can't work
in thread Why XML::Smart module can't work

Yes, after inserting print Dumper $XML_1, i got the ojbect, but why i can't print $ref?

My really intention is to parse the result of get request and print the result i wanted into a .csv file.
#!/usr/bin/perl use XML::Smart; use Data::Dumper; use warnings; use strict; my @array = (); my %data = (); open OUTFILE, '>result2.csv' or die $!; open FILE, 'fund.txt' or die $!; while (<FILE>) { chomp; my $XML = XML::Smart->new(" +/2008428323/securities/$_"."/documents?colids=590&fields=*"); print Dumper $XML; eval{ %data = %{$XML->{Document}->{Content}->{People}}; }; for my $li (keys %data){ print "$li:$data{$li}"."\n"; push (@array,$data{$li}); } print OUTFILE ("$_,","@array"."\n"); @array = (); } close(OUTFILE); close(FILE); exit;
the result i got is
C:\Users\rchen4\Desktop\Perl_XML>perl Use of uninitialized value $data in pattern match (m//) at C:/Dwimperl +/perl/site /lib/XML/Smart/ line 169, <FILE> line 1. $VAR1 = bless( do{\(my $o = bless( { 'tree' => {}, 'a' => [], 'TIEONUSE' => { 'h' => 'XML::Smart::Tie::Has +h', 'a' => 'XML::Smart::Tie::Arr +ay' }, 'parser' => '', 's' => \sub { "DUMMY" }, 'c' => sub { "DUMMY" }, 'point' => ${$VAR1}->{'tree'}, 'h' => {}, 'g' => \*Object::MultiType::Saver::NULL, 'b' => \sub { "DUMMY" } }, 'Object::MultiType::Saver' ))}, 'XML::Smart +' );
I still got nowhere.I can use XML::Simple to finish the similar task, but i think XML::Smart is more cool so i want to try it.

Replies are listed 'Best First'.
Re^3: Why XML::Smart model can't work
by Anonymous Monk on Dec 18, 2013 at 02:59 UTC
Re^3: Why XML::Smart module can't work
by Random_Walk (Prior) on Dec 18, 2013 at 09:09 UTC

    That object you got back looks just like mine did when it failed to connect to the URL. Are you sure it is contacting the web server? Try printing "$_"."/documents?colids=590&fields=*\n" and check you can connect to the resulting URL, with a browser, from the machine where your Perl is running


    Pereant, qui ante nos nostra dixerunt!
      I use print Dumper object; and search the reason on line, finally it is resolved.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1067576]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2020-10-24 10:00 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (242 votes). Check out past polls.