On Mon, Mar 03, 2003 at 04:25:13PM -0500, Bob X wrote:
> I have this script:
> 
> use strict;
> use warnings;
> 
> use DBI;
> 
> my %attr = (
>     PrintError => 0,
>     RaiseError => 1
> );
> 
> my @drivers = DBI->available_drivers();
> 
> foreach my $driver(@drivers) {
>     print "Driver: $driver\n";
>     my @dataSources = DBI->data_sources($driver);
> 
>     foreach my $dataSource(@dataSources) {
>         print "\t$dataSource\n";
>     }
>     print "\n";
> }
> 
> It simply gives me a list of DBD drivers installed. Ran fine until I upgrade
> to 1.34 at which point I get the following error now:
> 
> install_driver(Proxy) failed: Global symbol "$this" requires explicit
> package name at C:/Perl/site/lib/DBD/Proxy.pm line 272.
> BEGIN not safe after errors--compilation aborted at
> C:/Perl/site/lib/DBD/Proxy.pm line 414.
> Compilation failed in require at (eval 3) line 3.
> 
> Nothing ground breaking...just thought you should know.

Thanks. I believe the appended patch fixes it.

Tim.

*** lib/DBD/Proxy.pm    2003/02/28 17:50:06     11.12
--- lib/DBD/Proxy.pm    2003/03/03 22:37:14
***************
*** 269,275 ****
      # to let people trade safety for speed if they need to.
      undef $dbh->{'proxy_dbh'};    # Bug in Perl 5.004; would prefer delete
      undef $dbh->{'proxy_client'};
!     $this->SUPER::STORE('Active' => 0);
      1;
  }
 
--- 269,275 ----
      # to let people trade safety for speed if they need to.
      undef $dbh->{'proxy_dbh'};    # Bug in Perl 5.004; would prefer delete
      undef $dbh->{'proxy_client'};
!     $dbh->SUPER::STORE('Active' => 0);
      1;
  }

Reply via email to