The latest version passes these tests with perl 5.6.1 on win98: DBI-1.21/t/* 278/278 ok (proxy.t,preparse.t skipped) DBD-AnyData-0.06/t* 40/40 ok DBD-CSV-0.2004/t* 244/244 ok DBD-Sprite-0.30/t/* 28/28 ok DBD-XBase-0.161/t* 238/239 ok (same with real DBI)
It includes patches for neat() from Randal and several bug fixes and a patch for hash() from John Tobey, thanks! I also cleaned up some things and discovered a few changes needed to make it pass all of the DBD tests (Tim, these are marked in the code and show where DBI/t* possibly need to be changed). To test it (and please do): 1. put attatched PurePerl.pm in your DBI directory 2. patch DBI.pm with the small attatched patch (or add it by hand) 3. set the environment variable DBI_PUREPERL to 2 To return to real DBI, just unset DBI_PUREPERL. -- Jeff
PurePerl.pm
Description: application/unknown-content-type-pm_auto_file
217c217,228
< bootstrap DBI;
---
> if ( $ENV{DBI_PUREPERL} ) {
> if ( $ENV{DBI_PUREPERL} == 1 ) {
> eval { bootstrap DBI };
> }
> if ($@ or $ENV{DBI_PUREPERL} == 2 ) {
> require DBI::PurePerl;
> }
> }
> else {
> bootstrap DBI;
> }
>
263c274,277
< sub DBI::var::STORE { Carp::croak("Can't modify \$DBI::${$_[0]} special
variable") }
---
> sub DBI::var::STORE {
> Carp::croak("Can't modify \$DBI::${$_[0]} special variable")
> unless $DBI::PurePerl and ${$_[0]} =~ /(\*err|&errstr|"state)/
> }
