This file is indexed.

/usr/lib/perl5/Squirrel.pm is in libmouse-perl 0.97-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
package Squirrel;
use strict;
use warnings;

sub _choose_backend {
    if ( $INC{"Moose.pm"} ) {
        return {
            backend  => 'Moose',
            import   => \&Moose::import,
            unimport => \&Moose::unimport,
        };
    } else {
        require Mouse;
        return {
            backend  => 'Mouse',
            import   => \&Mouse::import,
            unimport => \&Mouse::unimport,
        };
    }
}

my %pkgs;

sub _handlers {
    my $class = shift;

    my $caller = caller(1);

    $pkgs{$caller} ||= $class->_choose_backend;
}

sub import {
    require Carp;
    Carp::carp("Squirrel is deprecated. Please use Any::Moose instead. It fixes a number of design problems that Squirrel has.");

    my $handlers = shift->_handlers;
    unshift @_, $handlers->{backend};
    goto &{$handlers->{import}};
}

sub unimport {
    my $handlers = shift->_handlers;
    unshift @_, $handlers->{backend};
    goto &{$handlers->{unimport}};
}

1;

__END__

=pod

=head1 NAME

Squirrel - Use Mouse, unless Moose is already loaded. (DEPRECATED)

=head1 SYNOPSIS

    use Squirrel;

    has goggles => (
        is => "rw", 
    );

=head1 DEPRECATION

C<Squirrel> is deprecated. C<Any::Moose> provides the same functionality,
but better. :)

=head1 DESCRIPTION

L<Moose> and L<Squirrel> are THE BEST FRIENDS, but if L<Moose> isn't there
L<Squirrel> will hang out with L<Mouse> as well.

When your own code doesn't actually care whether or not you use L<Moose> or
L<Mouse> you can use either, and let your users decide for you.

This lets you run with minimal dependencies and have a faster startup, but if
L<Moose> is already in use you get all the benefits of using that
(transformability, introspection, more opportunities for code reuse, etc).

=head1 SEE ALSO

L<Any::Moose>

=cut