package Your::SQL::Utils; use DBI; use DBD::Pg; sub new { my ($class, ...) = @_; bless { dbh => _connect() } => $class; } sub _connect { ... return $dbh; } sub dbh { my ($self) = @_; $self->{dbh}; } sub some_query { my ($self, ...) = @_; ... my $sth = $self->dbh->prepare(...); ... $sth->execute(...); ... } sub other_query { ... }