Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: hash of hashes

by marinersk (Priest)
on Oct 06, 2013 at 03:43 UTC ( #1057107=note: print w/replies, xml ) Need Help??


in reply to hash of hashes

If it will help you, a sample of Hash of Hashes:
my %hash = (); $hash{'jeep'}{'wrangler'} = 1; $hash{'jeep'}{'liberty'} = 1; $hash{'ford'}{'pinto'} = 1; $hash{'ford'}{'taurus'} = 1;

You can use Data::Dumper to see what %hash looks like, and probably it will help you understand hash of hashes better.

Replies are listed 'Best First'.
Re^2: hash of hashes
by Anonymous Monk on Oct 06, 2013 at 03:57 UTC

    can you suggest the logic how can i handle this situation using hash of hashes

      You seem to be pretty much at sea on this, so here's a bit of an elaboration on marinersk's approach. I'm assuming you can read "statements" from a file, get rid of newlines (see chomp), write data to a file, etc.

      >perl -wMstrict -le "use Data::Dumper; ;; my @statements = ( 'strawberry red green rose', 'apple red rose', 'mango green', ); ;; my %hash; for my $statement (@statements) { my ($fruit, @colors) = split m{\s+}xms, $statement; for my $color (@colors) { $hash{$fruit}{$color} = 1; } } ;; print Dumper \%hash; " $VAR1 = { 'mango' => { 'green' => 1 }, 'strawberry' => { 'rose' => 1, 'green' => 1, 'red' => 1 }, 'apple' => { 'rose' => 1, 'red' => 1 } };

      See perldsc for a discussion of techniques for iterating through a data structure of this (hash-of-hashes, HoH) or any other kind. As others have said, we would be happy to answer further questions, but the community really likes to see supporting work as well.

      Update: Also see Re: hash of hashes for a different, perhaps more directly expressive data structure.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1057107]
help
Chatterbox?
[marioroy]: Naming things can be difficult, sometimes more so that the actual code :)
[karlgoethebier]: Lady_Aleena: You need to jump to some conclusion
[Lady_Aleena]: And what would I rename RolePlaying/Random .pm to if I move all the RolePlaying/Random modules to just Random? Random/Util.pm Random/Base.pm, maybe lowercase the file name to indicate it is a bit different? I don't know yet.
[marioroy]: What does Random do?
[karlgoethebier]: https://www. youtube.com/watch? v=42WNHGr1jGI
[Lady_Aleena]: karlgoethebeir, I finished another project tonight, making a module which printed stop printing. It was a headache and a half.
[karlgoethebier]: Lady_Aleena: Try it!
[Lady_Aleena]: marioroy, it has 3 subroutines which can be fed data to generate random things. See here.
[Lady_Aleena]: marioroy, it is used in 24 other modules I wrote.

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2017-05-29 09:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?