I don't think it's possible to catch it since it's never use'd, require'd, or import'ed anywhere. Here's the code from Ima::DBI (version 0.33). I just don't see a way to find the DBIx::ContextualFetch usage unless there is someway at runtime to watch %INC, et al.
sub set_db {
my $class = shift;
my $db_name = shift or $class->_croak("Need a db name");
$db_name =~ s/\s/_/g;
my $data_source = shift or $class->_croak("Need a data source");
my $user = shift || "";
my $password = shift || "";
my $attr = shift || {};
ref $attr eq 'HASH' or $class->_croak("$attr must be a hash refere
+nce");
$attr = $class->_add_default_attributes($attr);
$class->_remember_handle($db_name);
no strict 'refs';
*{ $class . "::db_$db_name" } =
$class->_mk_db_closure($data_source, $user, $password, $attr);
return 1;
}
sub _add_default_attributes {
my ($class, $user_attr) = @_;
my %attr = $class->_default_attributes;
@attr{ keys %$user_attr } = values %$user_attr;
return \%attr;
}
sub _default_attributes {
(
RaiseError => 1,
AutoCommit => 0,
PrintError => 0,
Taint => 1,
RootClass => "DBIx::ContextualFetch"
);
}