4 # Copyright (c) - Dirk Koopman G1TLH
17 my $db; # the DB_File handle
18 my %prefix_loc; # the meat of the info
19 my %prefix; # the prefix list
28 $db = tie(%prefix, "DB_File", undef, O_RDWR|O_CREAT, 0, $DB_BTREE) or confess "can't tie %prefix ($!)";
29 do "$main::data/prefix_data.pl";
36 my $fh = new FileHandle;
37 my $fn = "$main::data/prefix_data.pl";
39 confess "Prefix system not started" if !$db;
42 rename "$fn.oooo", "$fn.ooooo" if -e "$fn.oooo";
43 rename "$fn.ooo", "$fn.oooo" if -e "$fn.ooo";
44 rename "$fn.oo", "$fn.ooo" if -e "$fn.oo";
45 rename "$fn.o", "$fn.oo" if -e "$fn.o";
46 rename "$fn", "$fn.o" if -e "$fn";
48 $fh->open(">$fn") or die "Can't open $fn ($!)";
50 # prefix location data
51 $fh->print("%prefix_loc = (\n");
52 foreach $l (sort {$a <=> $b} keys %prefix_loc) {
53 my $r = $prefix_loc{$l};
54 $fh->printf(" $l => { name => '%s', dxcc => %d, itu => %d, utcoff => %d, lat => %f, long => %f },\n",
55 $r->{name}, $r->{dxcc}, $r->{itu}, $r->{cq}, $r->{utcoff}, $r->{lat}, $r->{long});
60 $fh->print("%prefix = (\n");
61 foreach $k (sort keys %prefix) {
62 $fh->print(" '$k' => [");
63 my @list = @{$prefix{$k}};
70 $fh->print("$str ],\n");
76 # this may return several entries, be warned!
78 # what you get is a list of pairs of:-
80 # prefix => \[ @list of references to prefix_locs ]
82 # This routine will only do what you ask for, if you wish to be intelligent
83 # then that is YOUR problem!