There is one outstanding issue that I am aware of. We reported a problem setting the RootClass attribute in DBI v1.30, which was addressed in v1.31. Unfortunately, the fix has a small problem.
Here is the original message from rt.cpan.org: Mon Nov 18 17:09:05 2002 guest - Ticket created [Reply] [Comment] Subject: Cannot set RootClass attribute to a package in the same file Given this example: --START-- package Foo::DBIx; our @ISA = qw(DBI); package Foo::DBIx::db; our @ISA = qw(DBI::db); package Foo::DBIx::st; our @ISA = qw(DBI::st); package main; use DBI; $dbh = DBI->connect( 'dbi:Oracle:', 'scott', 'tiger', { RootClass => 'Foo::DBIx' } ); ---END--- DBI (v1.30) throws back the following error: Can't locate Foo/DBIx.pm in @INC (@INC contains: /home/prod/perl5/lib/5.6.1/aix /home/prod/perl5/lib/5.6.1 /home/prod/perl5/lib/site_perl/5.6.1/aix /home/prod/perl5/lib/site_perl/5.6.1 /home/prod/perl5/lib/site_perl .) at /home/prod/perl5/lib/site_perl/5.6.1/aix/DBI.pm line 776. ...propagated at /home/prod/perl5/lib/site_perl/5.6.1/aix/DBI.pm line 780. The DBI documentation says that this should be a non-fatal error: [...] that using an explicit RootClass attribute will make the DBI automatically attempt to load a module by that name (and not complain if such a module can't be found) [...] and code in DBI.pm looks like it tries to ignore this type of error: sub _load_module { (my $module = shift) =~ s!::!/!g; eval { require $module.'.pm'; }; return 1 unless $@; return 0 if $@ =~ /[EMAIL PROTECTED]/; die; # propagate $@; } But the regex used doesn't match the error thrown back by perl 5.6.1 (the regex itself may be flawed, since '@' !~ /\w/). If Foo::DBIx is stored in Foo/DBIx.pm, the error isn't thrown. If the regex is changed to /[EMAIL PROTECTED]/, the error also goes away. And here is the followup which applies AFAIK to DBI v1.31-v1.35: Mon Dec 9 18:16:05 2002 guest - Correspondence added [Reply] [Comment] From: troy.tausend#target I have just tried DBI v1.32 to check if the correction noted for v1.31 fixed my problem with the 'RootClass'. The changes in the connect method where the 'RootClass' subclassing is handled look good except for the fact that the "no strict 'refs';" needs to be moved before the test for an explicit 'RootClass' attribute. As for the changes in _load_module, I am not sure that the "$missing_ok" is going to work correctly yet. For me with perl 5.8.0, my $@ looks like the following as one line: Can't locate Bogus/Module.pm in @INC (@INC contains: /usr/opt/perl5/lib/5.00503/aix /usr/opt/perl5/lib/5.00503 /usr /opt/perl5/lib/site_perl/5.005/aix /usr/opt/perl5/lib/site_perl/5.005 .) The regex /[EMAIL PROTECTED]/ is anchored at the beginning of the line where as the first occurance in my error string is 33 characters into the string. Unfortuately I don't have access to versions other the 5.6.1 and 5.8.0 with English. Therefore I don't know that dropping the '^' anchor from the regex won't accidently excuse some other error message since I don't know that the '@INC' alone sufficiently qualifies the error. Oh well, that's my 2 1/2 cents on the subject. Thanks for getting the update for my original 'RootClass' problems out and I look forward to a release correcting the "no strict 'refs';" soon. Thanks. -- j. James FitzGibbon Consultant, Ajilon Services, [EMAIL PROTECTED] [EMAIL PROTECTED] voice/fax 612-304-6121/3277 > -----Original Message----- > From: Tim Bunce [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 13, 2003 7:14 AM > To: [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Status of DBI 1.35 (was: Install of DBI) > > > On Thu, Mar 13, 2003 at 09:57:12AM +0100, > [EMAIL PROTECTED] wrote: > > > > www.perl.com/CPAN should work nicely :) > > > > Latest stable version of DBI would appear to be 1.30. > Changes coming a bit > > too fast to call the newer versions 'stable' though (sorry Tim). > > No need to appologise. > > The only problems I'm aware of for 1.35 are: > > perl Makefile.PL PREFIX=<whatever> reported not to work > (not checked yet) > Minor tweak to t/80proxy.t test (not important) > The t/zz_* test files are not deleted by 'make clean' (not important) > > So I think it's well worth testing by a wider audience now. > > Tim. >