I'd have to test this out but isn't
Class::DBI usually
used in a module-2-table manner? If so, you could have something
like this:
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' );
...
But then again, it's these types of situations that make me steer
away from Class::DBI.