- if ($wantbeacon && $sort =~ /^BEA/) {
- ;
- } else {
- # Haven't used a perl 'goto' like this ever!
- # Clearly I need to use an event driven framework :-)
- goto periodic if !$wantcw && $mode =~ /^CW/;
- goto periodic if !$wantrtty && $mode =~ /^RTTY/;
- goto periodic if !$wantpsk && $mode =~ /^PSK/;
- goto periodic if !$wantdx && $mode =~ /^DX/;
+ my $want;
+
+ ++$want if $wantbeacon && $sort =~ /^BEA|NCD/;
+ ++$want if $wantcw && $mode =~ /^CW/;
+ ++$want if $wantrtty && $mode =~ /^RTTY/;
+ ++$want if $wantpsk && $mode =~ /^PSK/;
+ ++$want if $wantdx && $mode =~ /^DX/;
+ ++$want if $wantft && $mode =~ /^FT/;
+ if ($want) {
+ ++$nospot;
+ my $tag = $ts ? "RESPOT" : "SPOT";
+ $t .= ",$b" if $b;
+ say join(',', $tag, $origin, $qrg, $call, $mode, $s, $m, $spd, $u, $sort, $t);
+ $spot{$sp} = $tim;