On Tue, Sep 27, 2005 at 11:28:57AM -0700, Terrence Brannon wrote: > On 9/27/05, Chuck Fox <[EMAIL PROTECTED]> wrote: > > > I have a subclassed DBI module > > subclassing DBI is tough!
This is off-topic, but please don't spread this meme. Subclassing any factory-based set of classed just takes a little extra work. Just a little - and the DBI has made it just about as easy as possible. As per the DBI docs, here's an example that subclasses the DBI, including database and statement handles: package MySubDBI; use strict; use DBI; use vars qw(@ISA); @ISA = qw(DBI); package MySubDBI::db; use vars qw(@ISA); @ISA = qw(DBI::db); sub prepare { my ($dbh, @args) = @_; my $sth = $dbh->SUPER::prepare(@args) or return; $sth->{private_mysubdbi_info} = { foo => 'bar' }; return $sth; } package MySubDBI::st; use vars qw(@ISA); @ISA = qw(DBI::st); sub fetch { my ($sth, @args) = @_; my $row = $sth->SUPER::fetch(@args) or return; do_something_magical_with_row_data($row) or return $sth->set_err(1234, "The magic failed", undef, "fetch"); return $row; } So instead of just one class you need two more, one with ::db appended and one with ::st appended. Hardly rocket science. Tim.