Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: How to assign an array to a value in hash?

by davido (Cardinal)
on Apr 22, 2004 at 15:48 UTC ( [id://347386]=note: print w/replies, xml ) Need Help??


in reply to How to assign an array to a value in hash?

my %new_hash; my $some_key1 = 1234; my @some_array1 = qw/Name1 Email1 Age1/; $new_hash{$some_key1} = [@some_array1]; my $some_key2 = 1235; my @some_array2 = qw/Name2 Email2 Age2/; $new_hash{$some_key2} = [@some_array2]; for ( keys %new_hash ) { my @value_array = @{$new_hash{$_}}; print "Key is $_ and Second element of array is $value_array[1]\n" +; }

You should read perlreftut, perllol, perlref, and perldsc... it'll take you a couple hours, but it will really help your understanding of references.


Dave

Replies are listed 'Best First'.
Re^2: How to assign an array to a value in hash?
by deMize (Monk) on Jul 08, 2009 at 21:46 UTC
    I know this is old, but the @value_array in the for-loop doesn't need to be created.

    I'm sure there's a lot more that could be cleaned up to make this closer to a one-liner (just looking at it), but I figured I'd update the most important part, due to efficiency issues with creating temporary variables in a loop.

    You can just reference an array's value like: $new_hash{$key}[0]

    Note: The example uses $_ instead of $key and instead of choosing the second element in the array (1), I've replaced with the first element (0).
Re^2: How to assign an array to a value in hash?
by Anonymous Monk on Aug 27, 2009 at 08:06 UTC
    This hits the key point.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://347386]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2024-04-25 11:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found