package My::Class; our @ISA=qw(Base::Class); my %obj; sub new { ... my $h=$class->SUPER::new; $obj{$h}{host}=shift; $obj{$h}{port}=shift; ... } sub DESTROY { my $h=shift; delete $obj{$h}; $h->SUPER::DESTROY; }