5 use Devel::GlobalDestruction ();
12 return if Devel::GlobalDestruction::in_global_destruction();
17 if (ref $self->{other_side}) {
19 Scalar::Util::refaddr($self->{other_side}{reference})
20 eq Scalar::Util::refaddr($self)
23 $self->{other_side}{reference} = $self;
24 delete $self->{other_side};
31 my $far = $near->{reference} = bless({ other_side => $near }, 'Foo');
32 warn $near->{reference};
34 Scalar::Util::weaken($near->{reference});
37 warn $near->{reference};
38 Scalar::Util::weaken($near->{reference});
39 warn $near->{reference};