I looked up line 1398 in the DBI.pm, and it contains below. It has not changed between versions.
Going to see what else l can do before reverting to a previous version of the DBI module.
DBI-1.647 - Causes Redefines
sub install_method {
# special class method called directly by apps and/or drivers
# to install new methods into the DBI dispatcher
# DBD::Foo::db->install_method("foo_mumble", { usage => [...],
+ options => '...' });
my ($class, $method, $attr) = @_;
Carp::croak("Class '$class' must begin with DBD:: and end with
+ ::db or ::st")
unless $class =~ /^DBD::(\w+)::(dr|db|st)$/;
my ($driver, $subtype) = ($1, $2);
Carp::croak("invalid method name '$method'")
unless $method =~ m/^([a-z][a-z0-9]*_)\w+$/;
my $prefix = $1;
my $reg_info = $dbd_prefix_registry->{$prefix};
Carp::carp("method name prefix '$prefix' is not associated wit
+h a registered driver") unless $reg_info;
my $full_method = "DBI::${subtype}::$method";
$DBI::installed_methods{$full_method} = $attr;
my (undef, $filename, $line) = caller;
# XXX reformat $attr as needed for _install_method
my %attr = %{$attr||{}}; # copy so we can edit
DBI->_install_method("DBI::${subtype}::$method", "$filename at
+ line $line", \%attr); <b># Line causing the redefine</b>
}
DBI-1.643 - No Redefine
sub install_method {
# special class method called directly by apps and/or drivers
# to install new methods into the DBI dispatcher
# DBD::Foo::db->install_method("foo_mumble", { usage => [...],
+ options => '...' });
my ($class, $method, $attr) = @_;
Carp::croak("Class '$class' must begin with DBD:: and end with
+ ::db or ::st")
unless $class =~ /^DBD::(\w+)::(dr|db|st)$/;
my ($driver, $subtype) = ($1, $2);
Carp::croak("invalid method name '$method'")
unless $method =~ m/^([a-z][a-z0-9]*_)\w+$/;
my $prefix = $1;
my $reg_info = $dbd_prefix_registry->{$prefix};
Carp::carp("method name prefix '$prefix' is not associated wit
+h a registered driver") unless $reg_info;
my $full_method = "DBI::${subtype}::$method";
$DBI::installed_methods{$full_method} = $attr;
my (undef, $filename, $line) = caller;
# XXX reformat $attr as needed for _install_method
my %attr = %{$attr||{}}; # copy so we can edit
DBI->_install_method("DBI::${subtype}::$method", "$filename at
+ line $line", \%attr);
}