fix DXUtil::localdata ?perl bug?
authorDirk Koopman <djk@tobit.co.uk>
Sun, 26 Apr 2020 13:02:48 +0000 (14:02 +0100)
committerDirk Koopman <djk@tobit.co.uk>
Sun, 26 Apr 2020 13:02:48 +0000 (14:02 +0100)
perl/DXUtil.pm
perl/Prefix.pm

index b669b3b3f8c78715b891e146f12e172d266f803e..8bb9b956c59d306b8aab36b6cab0807bca10c5bd 100644 (file)
@@ -477,10 +477,10 @@ sub localdata
        
        if (-e "$main::local_data") {
                $tfn = "$main::data/$ifn";
-               if (-e $tfn && -e $ofn) {
+               if ((-e $tfn) && (-e $ofn)) {
                        $ofn = $tfn if -M $ofn < -M $tfn;
-               } elsif (-e tfn) {
-                       $ofn = $tfn;
+               } else {
+                       $ofn = $tfn if -e $tfn;
                }
        }
 
index fd361ebaaa178865211561087c26ae47eb7bf6d2..1e74d63dbc2f8a4f141d2ca646da4650cc2dc42d 100644 (file)
@@ -73,6 +73,8 @@ sub load
        eval {$db = tie(%pre, "DB_File", undef, O_RDWR|O_CREAT, 0664, $DB_BTREE);};
        my $out = "$@($!)" if !$db || $@ ;
        my $fn = localdata("prefix_data.pl");
+       die "Prefix.pm: cannot find $fn, have you run /spider/perl/create_prefix.pl?" unless -e $fn;
+       
        eval {do $fn if !$out; };
        $out .= $@ if $@;
        $lru = LRU->newbase('Prefix', $lrusize);