[CDBI] Odd Class::DBI error since upgrading Perl and doing a clean install of all modules

Perrin Harkins perrin at elem.com
Fri Feb 10 18:59:57 GMT 2006

On Thu, 2006-02-09 at 19:42 -0700, James M wrote:
> I have been running a production application based on Class::DBI
> continuously with no problems.  I was using Class::DBI v3.0.14.

So you didn't actually change versions then, right?  The current release
is still 3.0.14.

In general, upgrading to the latest version of everything from CPAN is
always going to at least require full testing your application again.
It's best to stick with the versions that you know work, unless there's
an important bug fix that you need.

> Operation "bool": no method found, argument in overloaded package
> Class::DBI::Object::Has::Been::Deleted at
> /usr/lib/perl5/site_perl/5.8.8/Class/DBI.pm line 491.

That just means you are keeping a reference to an object after you have
already deleted it.  You may be referencing it in a boolean context,
like "if ($obj)" or similar.

If you haven't already, try turning off the object index:
$Class::DBI::Weaken_Is_Available = 0;
(After loading Class::DBI.)

> I have never seen this error before and I am not definitely sure if it is
> related to the Perl upgrade.

It's possible that something in the perl upgrade affected the scoping of
your variables.  That could cause this error.

- Perrin

More information about the ClassDBI mailing list