projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed pc90
[spider.git]
/
perl
/
DXUtil.pm
diff --git
a/perl/DXUtil.pm
b/perl/DXUtil.pm
index 018a404a6249baa43fe2987ff24520c25cf33d59..4ea3782ef4ccda85415b55a995cec44673cccdd9 100644
(file)
--- a/
perl/DXUtil.pm
+++ b/
perl/DXUtil.pm
@@
-10,6
+10,7
@@
package DXUtil;
use Date::Parse;
use IO::File;
use Date::Parse;
use IO::File;
+use File::Copy;
use Data::Dumper;
use strict;
use Data::Dumper;
use strict;
@@
-26,6
+27,7
@@
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(atime ztime cldate cldatetime slat slong yesno promptf
parray parraypairs phex shellregex readfilestr writefilestr
@ISA = qw(Exporter);
@EXPORT = qw(atime ztime cldate cldatetime slat slong yesno promptf
parray parraypairs phex shellregex readfilestr writefilestr
+ filecopy
print_all_fields cltounix unpad is_callsign is_latlong
is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem
);
print_all_fields cltounix unpad is_callsign is_latlong
is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem
);
@@
-163,7
+165,7
@@
sub phex
sub parray
{
my $ref = shift;
sub parray
{
my $ref = shift;
- return
join(', ', @{$ref})
;
+ return
ref $ref ? join(', ', @{$ref}) : $ref
;
}
# take the arg as an array reference and print as a list of pairs
}
# take the arg as an array reference and print as a list of pairs
@@
-321,6
+323,11
@@
sub writefilestr
}
}
}
}
+sub filecopy
+{
+ copy(@_) or return $!;
+}
+
# remove leading and trailing spaces from an input string
sub unpad
{
# remove leading and trailing spaces from an input string
sub unpad
{
@@
-333,13
+340,14
@@
sub unpad
# check that a field only has callsign characters in it
sub is_callsign
{
# check that a field only has callsign characters in it
sub is_callsign
{
- return $_[0] =~ /^(?:[A-Z]{1,2}\d+|\d[A-Z]\d+)[A-Z]{1,3}(?:-\d{1,2}|\/(?:[A-Z]{1,2}\d{0,2}|\d[A-Z]\d{0,2}))?$/;
+ return $_[0] =~ /^(?:[A-Z]{1,2}\d+|\d[A-Z]
{1,2}
\d+)[A-Z]{1,3}(?:-\d{1,2}|\/(?:[A-Z]{1,2}\d{0,2}|\d[A-Z]\d{0,2}))?$/;
}
# check that a PC protocol field is valid text
sub is_pctext
{
}
# check that a PC protocol field is valid text
sub is_pctext
{
- return $_[0] =~ /^[\x09\x20-\xFF]+$/;
+ return undef if $_[0] =~ /[\x00-\x08\x0a-\x1f\x80-\x9f]/;
+ return $_[0];
}
# check that a PC prot flag is fairly valid (doesn't check the difference between 1/0 and */-)
}
# check that a PC prot flag is fairly valid (doesn't check the difference between 1/0 and */-)