package NeedsAName; sub new { return bless \@_, shift } sub AUTOLOAD { $_->$AUTOLOAD(@_) for @{+shift}; } package main; use Transactions; my $dbh1 = DBI->connect(...); my $dbh2 = DBI->connect(...); our $T = NeedsAName->new($dbh1, $dbh2); transaction { ... };