@{$hash{$key}} is not accessing an array of hashes, it accesses a hash of arrays. "hash" is here the name of the outer hash, the arrays are anonymous
Remember that a hash of arrays (or hashes) is, if you want to pass the complete hash, not different from any simple hash with integers or strings in it. The inner hashes (or arrays) are stored in the outer hash just as a reference.
So the outer hash can be handled exactly like you would any other normal hash, only when you access the values you should access them as a reference.
if you want to pass a reference to an inner array or hash to a subroutine, just use mysub($hash{$key}) as there is already a reference stored in the hash.
In reply to Re: How to pass multidimensional hashed arrays as reference to a subroutine?
by jethro
in thread How to pass multidimensional hashed arrays as reference to a subroutine?
by avenka1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |