As far as I know this should create a hash reference
Yes that is correct.
What exactly means 'dereference to the LHS value'?
LHS = left hand side. I meant that the arrow operator takes a reference on the left, and dereferences it (ie. 'replaces' it with what it points to). You can then subscript it in various ways, with a key (for a hashref), an index (arrayref), parameters (coderef), or a method (object).
A hashref is not a hash, and thus you cannot access it directly. You need to first "fetch" the hash that it points to.
| [reply] |
Thanks a lot, I just wrote a short test program:
#! /usr/bin/perl
my %mh ;
$mh{a} = "b" ;
$mh->{b} = "c" ;
print "values are hash=$mh{a}, hash=$mh{b} or hashref=$mh->{b} \n" ;
The problem with perl I think is that different types can have the same name.
I wrote a script once, and before I knew it I was mixing hashes and hash references!
Luca | [reply] [d/l] |