package Pixie::objwrapper; sub wrap { my $class = shift; my $obj = shift; my $obj_class = ref($obj); { no strict; @{"Pixie::objwrapper::${obj_class}::ISA"} = ('Pixie::objwrapper', $obj_class); } return bless $obj, "Pixie::objwrapper::$obj_class"; } sub DESTROY { my $self = shift; print "wrapper->DESTROY\n"; my $obj_class = ref($self); $obj_class =~ s/Pixie::objwrapper:://; if ($obj_class->can('DESTROY')) { $obj_class->DESTROY($self); } }