use Scalar::Util 'weaken'; # ... $self->{next} = (\$self == \$next) ? weaken(\$self) : \$next; [download]
In reply to Re: Q on $var = \$var; by japhy in thread Q on $var = \$var; by Bastiaan