in reply to Duplicate "addresses" in hashrefs when printing
I have found somthing which surprised me - I have other objects which exist at the same time which have the same pseudo-address, but are of a different type eg HTTP::OtherClass=HASH(0xbef7360) - ie 0xbef7360 is in the stringification of two different objects in the same process.
0xbef7360 is the memory address (within the process's address space) of the referenced object. It's impossible to have two objects (or two anything) at the same memory address at the same time.
And since the blessing is associated with the underlying variable, not the reference to it, it's not even possible to have to references of different class to the same variable.
my %hash; my $o1 = bless \%hash, 'C1'; my $o2 = bless \%hash, 'C2'; print "$_\n" for $o1, $o2;
C2=HASH(0x1829974) C2=HASH(0x1829974)
|
|---|