What's Carp have to do w/ the DBI, you ask? Well, I have a script that iterates over a series of activities, creating an instance of a different module per activity. Each of these sub-modules makes use of the DBI and DBD::Oracle.
No matter in which order the activities are executed the THIRD iteration always fails out (eliminating, IMHO, syntax error as a source) with: Root::Module1::SubModule1::Module1c debugging on Root::Module1 - No existing connection, connecting to database ... Can't locate Carp/Heavy.pm in @INC (@INC contains: /home/jdiggans/pubSun /home/jdiggans/pub /usr/local/lib/perl5/5.6.0/sun4-solaris /usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/5.6.0/Carp.pm line 109. Now clearly /usr/local/lib/perl5/5.6.0/Carp/Heavy.pm exists and is world-readable, since it works for the first two iterations as well as every other script running on this system. I've tracked this problem to DBI.pm since the line indicated by the error is in Carp.pm's shortmess() routine, called only by its carp() and croak() methods. I use only confess () in my modules, but croak() and carp() are used extensively in DBI.pm though since Carp is dying I have no way to officially track it to a line# in DBI. My question, then, is has anyone ever seen something like this? The sub-objects should be going out of scope with each interation so extra db connections certainly still shouldn't be laying around ... and why always on the third iteration? Any ideas/help/things to do to get more information/etc are greatly appreciated. Regards, -j ------------------------------------------------- James Diggans Bioinformatics Programmer Gene Logic, Inc. Phone: 301.987.1756 FAX: 301.987.1701
