sub refaddr($) { my $pkg = ref($_[0]) or return; my $is_object = Scalar::Util::blessed($_[0]); bless $_[0], 'Scalar::Util::Fake' if $is_object; my $i = int($_[0]); bless $_[0], $pkg if $is_object; $i; }