{ my $dbh; END { defined $dbh and $dbh->disconnect } sub get_dbh { return $dbh if defined $dbh; # ... connect to Oracle once only $dbh = DBI->connect( ... ); return $dbh; } }