in reply to Database Connections

Well, from a design perspective, you could either let the main code "own" the database handle, as you've done, or let the test package "own" the database handle as a package variable that gets lazily initialized:
package main; Test::Things::test1(); Test::Things::test2(); .. package Test::Things; use vars qw($dbh); sub test1 { $dbh ||= Database::Manager::get_dbh(); .. } sub test2 { $dbh ||= Database::Manager::get_dbh(); .. } .. package Database::Manager; sub get_dbh { return DBI->connect($dsn, $user, $password, ...); }
Something like that.

-- Randal L. Schwartz, Perl hacker