sub ref_to_db { my $db = DBI->connect(...); return $db; } #### sub closenow { my $rDB = shift; my $DB = $$rDB; $DB->disconnect(); } #### sub closeplease { my $Booga = shift; my $DB = ${$Booga->{DB}}; $DB->disconnect(); } #### sub closeitnow { my $rDB = shift; $rDB = $rDB->{DB} if ref $DB eq 'HASH'; my $DB = $$rDB; $DB->disconnect(); $rDB = undef; # now the caller's reference is gone, too! }