I am fairly sure that that is an optimization introduced in 5.8 to reduce memory usage with the common case of hashes used to implement objects. I believe that this optimization was part of the strategy for replacing the pseudo-hashes that were experimental in 5.6 and removed (if I recall correctly) in 5.10.
Pseudo-hashes were an attempt at reducing the overhead for structures with named fields by allowing multiple arrays to share a hashref in position zero which mapped keys to array indices.
In reply to Re: do separate hashes share common keys?
by jcb
in thread do separate hashes share common keys?
by LanX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |