fix more 5.8 isms
[spider.git] / perl / DXSql.pm
index fcf4e4ce5608dd5fc4068f4adb2c19924278483f..8ce3cb5ae97b4208774d830d30c809570731a96c 100644 (file)
@@ -10,18 +10,22 @@ package DXSql;
 
 use strict;
 
+use DXSql::SQLite;
+use DXSql::mysql;
 use DXDebug;
 
-use vars qw($VERSION $BRANCH);
+use vars qw($VERSION $BRANCH $active);
 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
 $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
 $main::build += $VERSION;
 $main::branch += $BRANCH;
 
-our $active = 0;
+$active = 0;
 
 sub init
 {
+       my $dsn = shift;
+       return unless $dsn;
        return $active if $active;
        
        eval { 
@@ -31,6 +35,7 @@ sub init
                import DBI;
                $active++;
        }
+       undef $@;
        return $active;
 } 
 
@@ -170,7 +175,7 @@ sub spot_search
                $expr =~ s/\$f9/spotcq/g;
                $expr =~ s/\|\|/ or /g;
                $expr =~ s/\&\&/ and /g;
-               $expr =~ s/=~\s+m\{\^([\w]+)[^\}]*\}/ like '$1%'/g;
+               $expr =~ s/=~\s+m\{\^([%\w]+)[^\}]*\}/ like '$1'/g;
        } else {
                $expr = '';
        }