/usr/share/perl5/Devel/REPL/Plugin/FindVariable.pm is in libdevel-repl-perl 1.003028-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 | use strict;
use warnings;
package Devel::REPL::Plugin::FindVariable;
# ABSTRACT: Finds variables by name
our $VERSION = '1.003028';
use Devel::REPL::Plugin;
use namespace::autoclean;
sub find_variable {
my ($self, $name) = @_;
return \$self if $name eq '$_REPL';
# XXX: this code needs to live in LexEnv
if ($self->can('lexical_environment')) {
return \( $self->lexical_environment->get_context('_')->{$name} )
if exists $self->lexical_environment->get_context('_')->{$name};
}
my $sigil = $name =~ s/^([\$\@\%\&\*])// ? $1 : '';
my $default_package = $self->can('current_package')
? $self->current_package
: 'main';
my $package = $name =~ s/^(.*)(::|')// ? $1 : $default_package;
my $meta = Class::MOP::Class->initialize($package);
# Class::MOP::Package::has_package_symbol method *requires* a sigil
return unless length($sigil) and $meta->has_package_symbol("$sigil$name");
$meta->get_package_symbol("$sigil$name");
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Devel::REPL::Plugin::FindVariable - Finds variables by name
=head1 VERSION
version 1.003028
=head1 SUPPORT
Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-REPL>
(or L<bug-Devel-REPL@rt.cpan.org|mailto:bug-Devel-REPL@rt.cpan.org>).
There is also an irc channel available for users of this distribution, at
L<C<#devel> on C<irc.perl.org>|irc://irc.perl.org/#devel-repl>.
=head1 AUTHOR
Shawn M Moore, C<< <sartak at gmail dot com> >>
=head1 COPYRIGHT AND LICENCE
This software is copyright (c) 2007 by Matt S Trout - mst (at) shadowcatsystems.co.uk (L<http://www.shadowcatsystems.co.uk/>).
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|