- # compare dates to see whether need to open another save file (remember, redefining $fp
- # automagically closes the output file (if any))
- my @date = Julian::unixtoj($spot[2]);
- $fp = Spot->open(@date, ">>") if (!$fp || Julian::cmp(@date, $fp->{year}, $fp->{day}));
-
- # save it
- my $fh = $fp->{fh};
- $fh->print(join("\^", @spot), "\n");
+ # remove ssids if present on spotter
+ $out[4] =~ s/-\d+$//o;
+
+ # remove leading and trailing spaces
+ $spot[3] = unpad($spot[3]);
+
+ # add the 'dxcc' country on the end for both spotted and spotter, then the cluster call
+ my @dxcc = Prefix::extract($out[1]);
+ my $spotted_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+ my $spotted_itu = (@dxcc > 0 ) ? $dxcc[1]->itu() : 0;
+ my $spotted_cq = (@dxcc > 0 ) ? $dxcc[1]->cq() : 0;
+ push @out, $spotted_dxcc;
+ @dxcc = Prefix::extract($out[4]);
+ my $spotter_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+ my $spotter_itu = (@dxcc > 0 ) ? $dxcc[1]->itu() : 0;
+ my $spotter_cq = (@dxcc > 0 ) ? $dxcc[1]->cq() : 0;
+ push @out, $spotter_dxcc;
+ push @out, $spot[5];
+
+ my $buf = join("\^", @out);
+
+ # compare dates to see whether need to open another save file (remember, redefining $fp
+ # automagically closes the output file (if any)).
+ $fp->writeunix($out[2], $buf);
+
+ return (@out, $spotted_itu, $spotted_cq, $spotter_itu, $spotter_cq);