То что глобальный деструктор моральный урод это понятно(хотя его тоже можно понять ) но бороться то как то с ним нужно :)<br><br>Выглядит это примерно так:<br><br>my $query=XXX::Upload-&gt;new(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Storage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt; new XXX::Storage($cfg-&gt;get_val(&#39;storage_directory&#39;),<br>
);<br><br><br>package XXX::Upload;<br>sub new{<br>&nbsp;&nbsp;&nbsp; my $class=shift;<br>&nbsp;&nbsp;&nbsp; my $self={<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Storage =&gt; undef,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @_,<br>&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; bless $self, $class;<br>&nbsp;&nbsp;&nbsp; return $self;<br>}<br><br>sub DESTROY{<br>
&nbsp;&nbsp;&nbsp; my $self=shift;<br>#На самом деле в конце скрипта $self-&gt;{Storage} уже undef<br>&nbsp;&nbsp;&nbsp; if($self-&gt;{Storage}){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $self-&gt;{Storage}-&gt;clean();<br>&nbsp;&nbsp;&nbsp; }<br>}<br><br><div class="gmail_quote">21 мая 2008 г. 13:35 пользователь Ivan B. Serezhkin &lt;<a href="mailto:ivan@serezhkin.com">ivan@serezhkin.com</a>&gt; написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="Wj3C7c">Dmitry Nizovtsev wrote:<br>
&gt; Здраствуйте<br>
&gt; Проблема в следущем есть обьект A который содержит ссылку на обьект B.<br>
&gt; В деструкторе обьекта A используется ссылка на обьект B - всё хорошо<br>
&gt; работает пока дело не доходит до глобального десктруктора. Глобальный<br>
&gt; деструктор уничожает обьект B раньше обьекта A и естественно &nbsp;обьект A<br>
&gt; не может выполнить всех необхдимых действий в своём деструкторе.<br>
&gt; Что народ может посоветовать в таком случае?<br>
</div></div>Можно кусочек кода в студию ?<br>
Глобальный деструктор - моральный урод, так ему и передайте.<br>
Ибо хорошо воспитанный глобальный деструктор не будет трогать объект, на<br>
который у кого то есть ссылка.<br>
<br>
--<br>
Ivan B. Serezhkin<br>
<font color="#888888"><br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/moscow-pm" target="_blank">http://mail.pm.org/mailman/listinfo/moscow-pm</a></font></blockquote></div><br>