Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Parsing SOAP::Lite results

by shmem (Chancellor)
on Sep 28, 2012 at 10:18 UTC ( #996159=note: print w/replies, xml ) Need Help??

in reply to Parsing SOAP::Lite results

and I get a 'Not an ARRAY reference' error. What am I doing wrong?

Well, I get a Not a HASH reference error, since $getToysResults->{Toys}->{Toy} is of type ARRAY:

$VAR1 = { 'Toys' => bless( { 'Toy' => [ <----- here ... ] }, 'ArrayOfToy' ) };

You need two loops.

for my $toy ( @{$getToysResults->{Toys}->{Toy}} ) { for my $l ( @{$toy->{ToyLocations}->{ToyLocation}} ) { print "$l->{locationName}\n" } }

Replies are listed 'Best First'.
Re^2: Parsing SOAP::Lite results
by Roboz (Novice) on Sep 28, 2012 at 10:52 UTC

    I got the 'Not an ARRAY reference' error when I tried the second loop, as in your suggestion. That was the part that was confusing me.

      shmem's code should not have produced that error with the data you posted. My code (Re: Parsing SOAP::Lite results) should not have produced the same error either. I'm now reasonably certain that the data you've posted is not the data you're operating on. See my earlier response (Re^3: Parsing SOAP::Lite results) for some suggestions.

      -- Ken

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996159]
Discipulus added his 2 neurocents to windwos perl suggestions issue

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2018-06-25 09:52 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.