This file is indexed.

/usr/share/doc/libmoose-autobox-perl/examples/units/time.pl is in libmoose-autobox-perl 0.15-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/usr/bin/perl

use strict;
use warnings;

use Moose::Autobox;

{
    package # hide me from PAUSE
        Units::Time;
    use Moose::Role;
    use Moose::Autobox;
    
    sub seconds   { $_[0]               }    
    sub minutes   { $_[0] * 60          }
    sub hours     { $_[0] * 60->minutes }
    sub days      { $_[0] * 24->hours   }
    sub weeks     { $_[0] * 7->days     }
    sub years     { $_[0] * 365->days   }
    sub centuries { $_[0] * 10->years   } 
    
    sub ago {
        my ($self, $time) = @_;
        $time ||= time();
        $time - $self;
    }   
    
    sub since {
        my ($self, $time) = @_;
        $time ||= time();        
        $time + $self;
    }   
    
    {
        no warnings 'once';
        
        # singular versions 
        *second  = \&seconds;
        *minute  = \&minutes;
        *hour    = \&hours;
        *day     = \&days;
        *week    = \&weeks;
        *year    = \&years;
        *century = \&centuries;
        
        *til      = \&ago;    
        *from_now = \&since; 
    }
    
    sub as_string { scalar localtime $_[0] }

}

Moose::Autobox->mixin_additional_role(SCALAR => 'Units::Time');

$\ = "\n";

print "2 days ago was           : " . 2->days->ago->as_string;
print "3 weeks from now will be : " . 3->weeks->from_now->as_string;
my $one_week_ago = 1->week->ago;
print "1 day until 1 week ago   : " . 1->day->til($one_week_ago)->as_string;
print "2 years since 1 week ago : " . 2->years->since($one_week_ago)->as_string;

=pod

=head1 NAME

Unit::Time

=head1 SYNOPSIS

  Moose::Autobox->mixin_additional_role(SCALAR => 'Units::Time');
  
  print "2 days ago was           : " . 2->days->ago->as_string;
  print "3 weeks from now will be : " . 3->weeks->from_now->as_string;
  print "1 day until 1 week ago   : " . 1->day->til(1->week->ago)->as_string;
  print "2 years since 1 week ago : " . 2->years->since(1->week->ago)->as_string;

=head1 DESCRIPTION

This is a Moose::Autobox port of the perl6 vmethods example.

=head1 AUTHOR

Stevan Little, E<lt>stevan@iinteractive.comE<gt>

=head1 ACKNOLEDGEMENTS

This code was ported from the version in the Pugs 
examples/vmethods/ directory. See that for original author 
information.

=cut