Package vars are stored in an instance of a struct called a typeglob, glob or GV.
The appropriate variable is fetched when needed.
$ perl -E' say \*x; # Prints the address of the glob. say \@x; # Prints the address of the array. say *x{ARRAY}; # Prints the address of the same array. say \%x; # Prints the address of the hash. say *x{HASH}; # Prints the address of the same hash. ' GLOB(0x2f78fd8) ARRAY(0x2f79080) ARRAY(0x2f79080) HASH(0x2f79038) HASH(0x2f79038)
None of this is relevant here. The program is printing the address of three different anonymous scalars that all got allocated at the same address (which is possible since none of the three existed at the same time).
In reply to Re^4: Why do I (sometimes) get a REF ref and not a SCALAR ref?
by ikegami
in thread Why do I (sometimes) get a REF ref and not a SCALAR ref?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |