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
);
my $ref = shift;
my $out;
- while (my $k = sort keys %$ref) {
+ foreach my $k (sort keys %$ref) {
$out .= "${k}=>$ref->{$k}, ";
}
$out =~ s/, $// if $out;
# 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
}
}
return '-(ve)' if $t < 0;
- my ($d,$h,$m,$s);
+ my ($y,$d,$h,$m,$s);
my $out = '';
+ $y = int $t / (86400*365);
+ $out .= sprintf ("%s${y}y", $adds?' ':'') if $y;
+ $t -= $y * 86400 * 365;
$d = int $t / 86400;
$out .= sprintf ("%s${d}d", $adds?' ':'') if $d;
$t -= $d * 86400;
$ncall .= "-$ssid" if $ssid;
return $ncall;
}
+
+sub is_numeric
+{
+ return $_[0] =~ /^[\.\d]+$/;
+}