There's more than one way to do things | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Hello ghosh123, LanX has explained the syntax of the expression, but you may be wondering, why create a hash reference only to immediately dereference it? A solution using a third, named hash is more straightforward:
But what happens if we want to eliminate the named hash? The obvious approach:
doesn’t work, because the Perl interpreter sees only a simple list. So it’s necessary to tell the interpreter to create a hash, but the only syntax for this that doesn’t involve another named hash is curly braces {}, which creates a hash as required but returns a reference to it. Hence the need for the more complicated syntax which creates the hash reference and then dereferences it. Actually, however, this isn’t necessary in Perl 5.14 or later, because keys can now also take a hash reference as its argument:
Output:
Hope that helps,
In reply to Re: Syntax explanation required
by Athanasius
|
|