From: minima Date: Sun, 27 Feb 2005 16:00:26 +0000 (+0000) Subject: add is_prefix and then use it X-Git-Tag: 1.53~150 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=5ee35d49b3b1078cc824894945e00e392c2b2e84;p=spider.git add is_prefix and then use it --- diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index 9f411812..927df28b 100644 --- a/perl/DXUtil.pm +++ b/perl/DXUtil.pm @@ -30,6 +30,7 @@ require Exporter; filecopy ptimelist print_all_fields cltounix unpad is_callsign is_latlong is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem + is_prefix ); @@ -363,6 +364,12 @@ sub is_callsign $!x; } +sub is_prefix +{ + return $_[0] =~ m!^(?:[A-Z]{1,2}\d+ | \d[A-Z]{1,2}\d+)!x # basic prefix +} + + # check that a PC protocol field is valid text sub is_pctext { diff --git a/perl/Spot.pm b/perl/Spot.pm index 0ab1a516..22880485 100644 --- a/perl/Spot.pm +++ b/perl/Spot.pm @@ -335,7 +335,7 @@ sub dup $text =~ s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg; $text = uc unpad($text); my ($prefix) = $text =~ /\b(\w{1,4})$/; - $text =~ s/\b\w{1,4}$// if $prefix && Prefix::extract($prefix); + $text =~ s/\b\w{1,4}$// if $prefix && is_prefix($prefix); $text = substr($text, 0, $duplth) if length $text > $duplth; $text = pack("C*", map {$_ & 127} unpack("C*", $text)); $text =~ s/[^\w]//g;