X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUtil.pm;h=b42d808d0e0aaa149b444e212e108e43420bb5d0;hb=6ec22e78a4a344ce675645fabf18b2a1971f364a;hp=51272d743420eea029be9a8d0b9e04bc77e029a1;hpb=710e02b70cb2530802812577229cd62a50da8090;p=spider.git diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index 51272d74..b42d808d 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 ); @@ -222,7 +222,7 @@ sub phash 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; @@ -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 @@ -614,3 +614,8 @@ sub normalise_call $ncall .= "-$ssid" if $ssid; return $ncall; } + +sub is_numeric +{ + return $_[0] =~ /^[\.\d]+$/; +}