Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Array of Hashes in subroutines.

by lima1 (Curate)
on Sep 18, 2010 at 16:33 UTC ( #860645=note: print w/ replies, xml ) Need Help??


in reply to Array of Hashes in subroutines.

You almost had it. Just pass a reference to the hash to your function with \%hash. You can access the elements without dereferencing with the -> operator.

#!/usr/bin/perl use strict; sub display { my $ref01 = shift; foreach my $key (sort keys %{$ref01}) { print "$key: $ref01->{$key}[0] $ref01->{$key}[1] $ref01->{$key +}[2]\n"; } } my %hash1; $hash1{'fruit'} = ['apple', 'orange', 'plum']; $hash1{'vegetable'} = ['leek', 'carrot', 'peas']; display (\%hash1); foreach my $j (sort keys %hash1) { print "$j: $hash1{$j}[0] $hash1{$j}[1] $hash1{$j}[2]\n"; }


Comment on Re: Array of Hashes in subroutines.
Download Code
Re^2: Array of Hashes in subroutines.
by jlnh (Novice) on Sep 18, 2010 at 18:24 UTC
    Thank you so much for your help!
    I was desesperate.
      Hi Jean,

      Try out the following. It should work
      #! /usr/bin/perl use strict; use warnings; sub display { my $ref = shift; foreach my $key (sort keys %{$ref}) { print "$key = ["; foreach my $key1 (@{$ref->{$key}}) { print "$key1,"; } print "]\n"; } } my %hash1; $hash1{'frog'} = ['jumps','swims','slimy']; $hash1{'dog'} = ['barks','swims','hairy']; display(\%hash1);

      As someone had mentioned the module "Data Dumper" is really helpful. Even i am still learning and its really fun playing around with these references and derefences until you figure out what is happening. :)
      Hope it helped

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2014-09-23 11:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (219 votes), past polls