package DXUtil;
+use Date::Parse;
+use Carp;
+
require Exporter;
@ISA = qw(Exporter);
-@EXPORT = qw(atime ztime cldate cldatetime slat slong yesno promptf
- print_all_fields
+@EXPORT = qw(atime ztime cldate cldatetime slat slong yesno promptf parray parraypairs
+ print_all_fields cltounix
);
@month = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
return "$date $time";
}
+# return a unix date from a cluster date and time
+sub cltounix
+{
+ my $date = shift;
+ my $time = shift;
+ $date =~ s/^\s*(\d+)-(\w\w\w)-(19\d\d)$/$1 $2 $3/;
+ $time =~ s/^(\d\d)(\d\d)Z$/$1:$2 +0000/;
+ return str2time("$date $time");
+}
+
# turn a latitude in degrees into a string
sub slat
{
return ($priv, $prompt);
}
+# take an arg as an array list and print it
+sub parray
+{
+ return join(', ', @{shift});
+}
+
+# take the arg as an array reference and print as a list of pairs
+sub parraypairs
+{
+ my $ref = shift;
+ my $i;
+ my $out;
+
+ for ($i = 0; $i < @$ref; $i += 2) {
+ my $r1 = @$ref[$i];
+ my $r2 = @$ref[$i+1];
+ $out .= "$r1-$r2, ";
+ }
+ chop $out; # remove last space
+ chop $out; # remove last comma
+ return $out;
+}
+
# print all the fields for a record according to privilege
#
# The prompt record is of the format '<priv>,<prompt>[,<action>'