1 # internal utility subroutines used by multiple classes
3 package DBIx::DBSchema::_util;
6 use vars qw(@ISA @EXPORT_OK);
12 @EXPORT_OK = qw( _load_driver _dbh _parse_opt );
18 $driver = $dbh->{Driver}->{Name};
20 $dbh =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i #nicked from DBI->connect
21 or '' =~ /()/; # ensure $1 etc are empty if match fails
22 $driver = $1 or confess "can't parse data source: $dbh";
25 #require "DBIx/DBSchema/DBD/$driver.pm";
27 eval 'require "DBIx/DBSchema/DBD/$driver.pm"' and $driver or die $@;
30 #sub _dbh_or_dbi_connect_args {
34 unless ( ref($dbh) || ! @_ ) {
35 $dbh = DBI->connect( $dbh, @_ ) or die $DBI::errstr;
39 ( $dbh, $created_dbh );
44 if ( ref( $optref->[0] ) eq 'HASH' ) {