Am Montag, 14. M�rz 2005 02.16 schrieb Grant:
[...]
> Thanks guys, I've almost got it. I need to save the title and URL of
> each result in the array to a different "scratch" variable so I can
> use it outside of the script. The following works great, but of
> course it only saves the last set of results from the loop.
> foreach my $result (@{$results->{resultElements}}) {
> $Scratch->{google_results_title} = $result->{title},
> $Scratch->{google_results_url} = $result->{URL};
> }
>
> What I need is a way to save each title and URL to a different scratch
> variable like this:
>
> $Scratch->{google_results_title_1} =
> $results->{resultElements}->[1]->{title}, $Scratch->{google_results_url_1}
> = $results->{resultElements}->[1]->{url};
> $Scratch->{google_results_title_2} =
> $results->{resultElements}->[2]->{title}, $Scratch->{google_results_url_2}
> = $results->{resultElements}->[2]->{url};
>
> but I need the right syntax. How would that go?
Instead of using masses of hash keys of the sort "google_results_title_<n>,
you should add an additional dimension in the result data structure, e.g.
$Scratch->{google_results_title}->[1]=..., not
$Scratch->{google_results_title_1} =...
But since you only want to collect urls and their title, why not simply use a
hash for that:
foreach my $result (@{$results->{resultElements}}) {
$Scratch->{ $result->{URL} } = $result->{title}
# Or, if neccessary:
#$Scratch->{google_results}->{ $result->{URL} } = $result->{title}
}
Afterwards, you can access the titles with a lookup of the url.
[...]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>