-sub mindate
-{
- my $t = shift;
- my $out;
-
- if ($main::system-$t < 86400 ) {
- $out = ahour($t);
- } elsif ($main::system-$t < 365*86400) {
- $out = adate($t);
- chop $out for (1..4);
- $out .= ' ' . atime($t);
- chop $out for (1..3);
- } else {
- $out = atime($t);
- $out =~ s/\@/ /;
- }
- return $out;
-}
-
-# like phash but prints dates and times
-sub piplist
-{
- my $ref = shift;
- my $out;
-
- return $ref unless ref $ref;
-
- while (my ($k,$v) = each %$ref) {
- if (ref $v eq 'HASH') {
- $out .= piplist($v);
- } elsif (ref $v eq 'ARRAY') {
- $out .= join(',', map { sprintf "$_->[0]@%s", mindate($_->[1]) } ref $v->[0] eq 'ARRAY' ? @$v : $v);
- } else {
- $out .= $v;
- }
- }
- $out =~ s/,+$//; # remove last comma
- return $out;
-}
-