At 04:23 PM 7/27/02 +0100, [EMAIL PROTECTED] wrote: >Elizabeth Mattijsen <[EMAIL PROTECTED]> writes: > > >I usually just call UNIVERSAL::isa($_[0], 'your::class::name') in > these cases. > > return unless UNIVERSAL::isa( $_[0],__PACKAGE__ ); >Don't you still have a 'subclass problem? Consider some parent class >with children A,B,C & D. If a 'D' gets DESTROYed correctly at first and >then a subsequent spurious DESTROY passes an object that's morphed >into a 'C' then you're protection is stuffed.
Indeed. But I wouldn't know another method, short of creating a shared hash for remembering which objects got destroyed already, to fix this. In any case, this is a problem in Perl 5.8.0 that needs to be fixed. I'm just suggesting a band-aid in the mean time, which stops the bleeding most of the time... ;-) Liz