put dx.pl into an explicit handle sub
[spider.git] / perl / create_qsl.pl
index b3e514de244989bb9ae366cc3d5bea8f581da72e..f4083f55d0adb7f1ec146f61e4f7b79bbe732255 100755 (executable)
@@ -1,10 +1,10 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Implement a 'GO' database list
 #
 # Copyright (c) 2003 Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 # search local then perl directories
@@ -22,7 +22,7 @@ BEGIN {
 use strict;
 
 use IO::File;
-use DXVars;
+use SysVar;
 use DXUtil;
 use Spot;
 use QSL;
@@ -36,11 +36,12 @@ my $qslfn = "qsl";
 
 $main::systime = time;
 
-unlink "$root/data/qsl.v1";
+unlink "$data/qsl.v1";
+unlink "$local_data/qsl.v1";
 
 QSL::init(1) or die "cannot open QSL file";
 
-my $base = "$root/data/spots";
+my $base = localdata("spots");
 
 opendir YEAR, $base or die "$base $!";
 foreach my $year (sort readdir YEAR) {
@@ -56,6 +57,7 @@ foreach my $year (sort readdir YEAR) {
                my $f = new IO::File $fn  or die "$fn ($!)"; 
                print "doing: $fn\n";
                while (<$f>) {
+                       last if $end;
                        if (/(QSL|VIA)/i) {
                                my ($freq, $call, $t, $comment, $by, @rest) = split /\^/;
                                my $q = QSL::get($call) || new QSL $call;
@@ -64,7 +66,9 @@ foreach my $year (sort readdir YEAR) {
                        }
                }
                $f->close;
+               last if $end;
        }
+       last if $end;
 }
 
 QSL::finish();