package MyApp::BerkeleyDB; use strict; use BerkeleyDB; use vars '%bdb_defaults'; %bdb_defaults = ( Filename => 'foo', ... ); sub new { my ($class,%args) = @_; my $self = \%args; bless $self, $class }; sub db { $_[0]->{db} }; sub connect { my ($class,%args) = @_; %args = (%bdb_defaults, %args); my $db = BerkeleyDB::Btree->new(%args); $class->new( db => $db ); };