Just as an aside for the OP why your initial try was wrong: your %$self->{HREF} parses as (%{$self})->{'HREF'} because %$self is a complete term to which the -> deref operator is (unsuccessfully) applied. Using the curlies works kind of like specialized parens letting perl know that what you want to dereference is the hashref the expression $self->{HREF} contains.
The cake is a lie.
The cake is a lie.
The cake is a lie.
| [reply] [d/l] [select] |
thanks that makes sense. I initially tried %($self->{HREF}) w/ parens instead of curly braces. perl is confusing like that - you initalize a hash with parens, access and derefence with curly braces, etc.
| [reply] |
You do not initialize hashes with parens. You can, however, initialize a hash with a list, and if you do a list assignment, you may need parenthesis for parsing precedences. But those parens are there just for precedence - they carry no syntactical meaning. Had the assignment operator been a postfix one, the parenthesis wouldn't be there.
| [reply] |