X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUtil.pm;h=b89d88ea9a89def800ffdfcba3ba39d1cc4e26aa;hb=766014807e2521cc60a219c6eda5b49d13ffc70f;hp=be6dfb4d308e2152e158000a9ddb41582bcc02df;hpb=deb52e701a0db351d06eb6fe14872dc2fa7a51cb;p=spider.git diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index be6dfb4d..b89d88ea 100644 --- a/perl/DXUtil.pm +++ b/perl/DXUtil.pm @@ -29,7 +29,7 @@ require Exporter; is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem is_prefix dd is_ipaddr $pi $d2r $r2d localdata localdata_mv diffms _diffms _diffus difft parraydifft is_ztime basecall - normalise_call + normalise_call is_numeric ); @@ -380,8 +380,8 @@ sub filecopy sub unpad { my $s = shift; - $s =~ s/\s+$//; - $s =~ s/^\s+//; + $s =~ s/^\s*//; + $s =~ s/\s*$//; return $s; } @@ -448,7 +448,7 @@ sub is_latlong # is it an ip address? sub is_ipaddr { - return $_[0] =~ /^\d+\.\d+\.\d+\.\d+$/ || $_[0] =~ /^[0-9a-f:,]+$/; + return $_[0] =~ /^(?:(?:\:\:)?\d+\.\d+\.\d+\.\d+)|(?:[0-9a-f]{1,4}\:)?(?:\:[0-9a-f]{1,4}(?:\:\:)?){1,6}$/i; } # is it a zulu time hhmmZ @@ -578,7 +578,7 @@ sub difft $t -= $h * 3600; $m = int $t / 60; $out .= sprintf ("%s${m}m", $adds?' ':'') if $m; - if ($d == 0 && $adds || $adds == 2) { + if (($d == 0 && $adds) || (int $adds && $adds == 2)) { $s = int $t % 60; $out .= sprintf ("%s${s}s", $adds?' ':'') if $s; $out ||= sprintf ("%s0s", $adds?' ':''); @@ -614,3 +614,8 @@ sub normalise_call $ncall .= "-$ssid" if $ssid; return $ncall; } + +sub is_numeric +{ + return $_[0] =~ /^[\.\d]+$/; +}