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

Re: How to add to hash of a hash of an array. Confused.com!

by roboticus (Chancellor)
on Jun 13, 2013 at 11:38 UTC ( #1038723=note: print w/ replies, xml ) Need Help??


in reply to How to add to hash of a hash of an array. Confused.com!

Doozer:

If the item doesn't exist, you're just going to create it anyway, so why not just use:

push @{$hash{A1}{B2}{C1}}, $item;

Without showing more of your code, we can't be sure exactly what your problem is. I'm suspecting that it's due to the fact that sometimes your B-level variable is a string and sometimes it's a hash reference. Perhaps $hash{A1}{B2} was a string a moment before executing the code you've shown--that would be enough to cause the problem:

$ perl ttt3.pl Can't use string ("") as a HASH ref while "strict refs" in use at ttt3 +.pl line 7. * /W/P/PM/ monitor_saints; check TODO_LIST $ cat ttt3.pl #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash; $hash{A1}{B2} = ""; if (exists $hash{A1}{B2}{C1}) { print "Baz!\n"; }

...roboticus

When your only tool is a hammer, all problems look like your thumb.


Comment on Re: How to add to hash of a hash of an array. Confused.com!
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2015-07-06 09:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls