/usr/share/perl5/Moose/Autobox/List.pm 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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | package Moose::Autobox::List;
use Moose::Role 'with', 'requires';
use Moose::Autobox;
our $VERSION = '0.15';
with 'Moose::Autobox::Value';
requires 'head';
requires 'tail';
requires 'length';
requires 'join';
requires 'grep';
requires 'map';
requires 'sort';
requires 'reverse';
sub reduce {
my ($array, $func) = @_;
my $a = $array->values;
my $acc = $a->head;
$a->tail->map(sub { $acc = $func->($acc, $_) });
return $acc;
}
sub zip {
my ($array, $other) = @_;
($array->length < $other->length
? $other
: $array)
->keys
->map(sub {
[ $array->at($_), $other->at($_) ]
});
}
1;
__END__
=pod
=head1 NAME
Moose::Autobox::List - the List role
=head1 DESCRIPTION
This is a role to describes a List interface. This is not
meant to be any specific Perl type, but instead an interface
that certain Perl types might implement. Currenly only
L<Moose::Autobox::Array> implements this.
=head1 METHODS
=over 4
=item B<reduce>
=item B<zip>
=back
=over 4
=item B<meta>
=back
=head1 REQUIRED METHODS
=over 4
=item B<head>
=item B<tail>
=item B<join>
=item B<length>
=item B<map>
=item B<grep>
=item B<reverse>
=item B<sort>
=back
=head1 BUGS
All complex software has bugs lurking in it, and this module is no
exception. If you find a bug please either email me, or add the bug
to cpan-RT.
=head1 AUTHOR
Stevan Little E<lt>stevan@iinteractive.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright 2006-2008 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
|