package MyModule::DBI; use base 'Class::DBI'; MyModule::DBI->set_db(...); ... package MyModule::Table; use base 'MyModule::DBI'; MyModule::Table->table('table'); ... package MyModule::DB2_Table; use base 'MyModule::DBI'; MyModule::DB2_Table->table( 'db2.table' ); # that should work depending on the security # and access restrictions .... my @db1_data = MyModule::Table->search( field => 'value' ); my @db2_data = MyModule::DB2_Table->search( field => 'value' ); ...