use strict; use warnings; use DBI; BEGIN{ package MyDBI; our @ISA = ('DBI','MyDBI::st'); sub connect { my $class=shift; my ($db,$user,$pw) = @_; my $self = DBI->connect($db,$user,$pw, { RaiseError => 1 } ); bless $self; return $self; } } # ---------------------------------------- BEGIN { package MyDBI::st; our @ISA = ('DBI::st'); sub query { my $class = shift; my $self = $class->prepare("SELECT * FROM `table` LIMIT 2"); $self->execute(); bless $self; return $self; } } my $dbh = MyDBI->connect("x","y","z"} ); my $sth = $dbh->query(); #### Can't locate auto/MyDBI/prepare.al in @INC (@INC contains ....) at line DB.pm line 29