Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: help to get hash elements

by davido (Archbishop)
on Aug 26, 2012 at 22:52 UTC ( #989887=note: print w/replies, xml ) Need Help??


in reply to help to get hash elements

my %hash = ( response => { blogs => [ { url => 'equipo.tumblr.com', name => 'equipo', updated => 1346015230, }, { url => 'linux.tumblr.com', name => 'linuxmint', updated => 1345967468, }, ], }, ); my @urls = map { $_->{url} } @{$hash{response}{blogs}};

perldoc perlreftut and peldoc perlref can get you started with references. perldsc and perllol can walk you through manipulating datastructures built using references. I used map (perldoc -f map) to perform the actual data structure transform. But if you're new to some of this it might be easier to achieve the same thing using a foreach loop (perldoc perlsyn) and push (perldoc -f push):

my @urls; foreach my $blog ( @{$hash{response}{blogs}} ) { push @urls, $blog->{url}; }

Either way @url ends up containing the same list of URL's.

If you don't mind spending a little on a good book, Intermediate Perl is a great tutorial on references, data-structures, classes, and objects (as well as a few other useful things).


Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989887]
help
Chatterbox?
[choroba]: Tux: What kind of dead-key diacriticals do you use? It works for me: ůěščö
[choroba]: Do the keys work at any other Tk application?

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2017-09-25 19:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (288 votes). Check out past polls.

    Notices?