[Moscow.pm] Как народ борится с глобальным деструктором

Vladimir V. Perepelitsa inthrax на gmail.com
Чт Май 22 03:08:08 PDT 2008


no tie;
use Scalar::Util qw(weaken);
weaken($o1->{x} = $o2);

On Wednesday 21 May 2008 15:44:20 Alexander Lourier wrote:
> В сообщении от 21 мая 2008 14:31 Dmitry Nizovtsev написал(a):
> > Здраствуйте
> > Проблема в следущем есть обьект A который содержит ссылку на обьект B.
> > В деструкторе обьекта A используется ссылка на обьект B - всё хорошо
> > работает пока дело не доходит до глобального десктруктора. Глобальный
> > деструктор уничожает обьект B раньше обьекта A и естественно  обьект A не
> > может выполнить всех необхдимых действий в своём деструкторе.
> > Что народ может посоветовать в таком случае?
>
> Используйте слабые ссылки с B в A, тогда A уничтожится первым.
>
...
>          tie(%hash , ’Hash::NoRef’) ;
...

-- 
Vladimir Perepelitsa aka Mons Anderson
<inthrax на gmail.com> / #99779956


Подробная информация о списке рассылки Moscow-pm