package Hue::SQL; sub open { return DBI->connect blah blah; } sub close { $main::dbh->disconnect; } ## <-- here is it: use $main::dbh package Hue::Foo; sub do_something { my $data = shift; $main::dbh->do ("sql query using \$data"); ## <-- again } package main; use Hue::SQL; use Hue::Foo; $dbh = Hue::SQL::open; Hue::Foo::do_something ($data);