in reply to Hash dereferencing in a loop
The problem you're having is that $hashRef is a reference to a hash, it's not a hash itself:
my %hash = (a=>1, b=>2); my $hashRef = { c=>3, d=>4 }; # For a hash, you can reference the item as you expect: my $v = $hash{a}; # For a hash ref, you need to either use a double $, or # use an arrow: $v = $hashRef->{c}; $v = $$hashRef{c};
You can use a reference to manipulate a hash, too:
# Get a reference to %hash $hashRef = \%hash; $v = $hashRef->{a}; # $v now holds 1
...roboticus
When your only tool is a hammer, all problems look like your thumb.
|
|---|