In that case I suggest that you try the "expanded" version of the line - that will be much easier to diagnose. If you still have trouble try generating a code sample that demonstrates the problem without requiring the extranious code. Something like this:
#!/usr/bin/perl -w use strict; my $doc = {Result => {first => 1, second => 2} #['first', 'second'] }; my @list; if (ref $doc->{Result} eq "HASH") { @list = keys %{$doc->{Result}}; } elsif (ref $doc->{Result} eq "ARRAY") { @list = @{$doc->{Result}}; } else { @list = (); } for (@list) { print "$_\n"; }
which prints the following (without errors or warnings):
first second
You might also like to use Data::Dump::Streamer to dump the contents of $doc so that you can see what is causing grief in the data.
In reply to Re^3: Parsing Yahoo XML Response
by GrandFather
in thread Parsing Yahoo XML Response
by ecuguru
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |