package MyClass; sub new { my $class = shift; bless { socket => $class->open_new_socket }, $class; } sub DESTROY { my $self = shift; $self->{socket}->close; } #### my $dbh = DBI->connect(...); END { $dbh = undef }