http://www.perlmonks.org?node_id=526192


in reply to Custom HOA printing

As you're just new with hashes of arrays (and presumably other complex data structures) you should find Data::Dumper helps you to A) define data structures in one hit and B) clearly see what your data structure contains:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash; push @{$hash{"3"}}, "apple"; push @{$hash{"2"}}, "pear"; push @{$hash{"5"}}, "orange"; push @{$hash{"3"}}, "grape"; push @{$hash{"2"}}, "icky pineapple"; print Dumper(\%hash), $/;
(note the backslash in front of the % in the print statement) which would give you:
$VAR1 = { '3' => [ 'apple', 'grape' ], '2' => [ 'pear', 'icky pineapple' ], '5' => [ 'orange' ] };
Just change the $VAR1 to %hash and the {} to () and it's done for you :o)
my %hash = ( '3' => [ 'apple', 'grape' ], '2' => [ 'pear', 'icky pineapple' ], '5' => [ 'orange' ] );

Replies are listed 'Best First'.
Re^2: Custom HOA printing
by McDarren (Abbot) on Jan 29, 2006 at 00:37 UTC
    Even easier still if you use Data::Dumper::Simple.

    No need to reference the hash, and the data comes out exactly the same way as it would be defined.

    eg:

    print Dumper(%hash);
    gives:
    %hash = ( '3' => [ 'apple', 'grape' ], '2' => [ 'pear', 'icky pineapple' ], '5' => [ 'orange' ] );
    Cheers,
    Darren :)