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>