http://qs1969.pair.com?node_id=1060465


in reply to Re^4: Perl Syntax
in thread Perl Syntax

Not an especially useful technique for managing inside-out objects. (Not without some care anyway.) Reference addresses can be recycled.

use strict; use warnings; use Scalar::Util 'refaddr'; use Data::Dumper; for my $i (0..2) { my $hash = [$i]; printf "The hash has refaddr %08X, and contents are...\n", refaddr +($hash); print Data::Dumper->Dump([$hash], ['$hash']); }

With carefully written CLONE and DESTROY methods, using the refaddr as a hash key can be made to work, but something like Hash::FieldHash saves a lot of work.

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name