# email | convkeps.pl (in amsat email format)
# convkeps.pl -p keps.in (a file with just plain keps)
#
+# if you add the -c flag then the %keps hash will be cleared down
+# before adding the new ones.
+#
# Copyright (c) 2000 Dirk Koopman G1TLH
#
# $Id$
use vars qw($root %keps);
use Data::Dumper;
-use Keps;
+require Keps;
my $fn = "$root/local/Keps.pm";
my $state = 0;
$state = 1;
} elsif ($arg eq '-e') {
$state = 0;
+ } elsif ($arg eq '-c') {
+ %keps = ();
} elsif ($arg =~ /^-/) {
- die "Usage: convkeps.pl [-e|-p] [<filename>]\n\t-p - plain file just containing keps\n\t-e - amsat email format input file (default)\n";
+ die "Usage: convkeps.pl [-c] [-e|-p] [<filename>]\n\t-p - plain file just containing keps\n\t-e - amsat email format input file (default)\n\t-c - clear Keps data before adding this lot\n";
} else {
open (IN, $arg) or die "cannot open $arg (!$)";
$f = \*IN;
}
}
+
while (<$f>) {
++$line;
chomp;
s/^\s+//;
- s/\s+$//;
+ s/[\s\r]+$//;
next unless $_;
last if m{^/EX}i;
last if m{^-};
if (/^\w+/) {
s/\s/-/g;
- $name = $_;
+ $name = uc $_;
$ref = $keps{$name} = {};
$state = 2;
}
$ref->{mm2} = genenum($mm2);
$ref->{bstar} = genenum($bstar);
$ref->{elset} = $elset - 0;
-# print "$id $number $epoch $decay $mm2 $bstar $elset\n";
-# print "mm2: $ref->{mm2} bstar: $ref->{bstar}\n";
+ #print "$id $number $epoch $decay $mm2 $bstar $elset\n";
+ #print "mm2: $ref->{mm2} bstar: $ref->{bstar}\n";
$state = 3;
} else {
print OUT "# Last update: ", scalar gmtime, "\n#\n";
print OUT "\npackage Sun;\n\n";
print OUT $dd->Dumpxs;
-print OUT "\n";
+print OUT "1;\n";
close(OUT);
sub genenum
{
my ($sign, $frac, $esign, $exp) = unpack "aa5aa", shift;
+ $esign = '+' if $esign eq ' ';
my $n = $sign . "." . $frac . 'e' . $esign . $exp;
return $n - 0;
}