+ my @spot = @_; # $freq, $call, $t, $comment, $spotter = @_
+ my @out = @spot[0..4]; # just up to the spotter
+
+ # normalise frequency
+ $spot[0] = sprintf "%.f", $spot[0];
+
+ # 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);