diff -Naur qmail-scanner-2.02.orig/qmail-scanner-queue.template qmail-scanner-2.02/qmail-scanner-queue.template --- qmail-scanner-2.02.orig/qmail-scanner-queue.template 2007-08-29 23:39:20.000000000 +0200 +++ qmail-scanner-2.02/qmail-scanner-queue.template 2007-11-14 20:27:25.000000000 +0100 @@ -1974,6 +1974,14 @@ my ($line,%array,$count,$match,$type,$descr,$entry,$descrip,$size); if ($opt_g) { print "perlscanner: generate new DB file from $db_filename.txt\n"; + # delete "__db.[DBNAME]" and "__db.[DBNAME].*" + foreach my $tfile ("__db.$db_filename.db.tmp", <__db.$db_filename.db.tmp.*>) { + next unless (-e $tfile); + if (!unlink($tfile)) { + print "ERROR: cannot remove Berkeley DB tmp file $tfile: $!\n"; + &error_condition("ERROR: cannot remove Berkeley DB tmp file $tfile: $!"); + } + } unlink("$db_filename.db.tmp"); tie (%array, 'DB_File', "$db_filename.db.tmp", O_CREAT|O_RDWR, 0640, $DB_HASH ) || &error_condition("cannot open for write $db_filename.db.tmp - $!");