/usr/share/perl5/Reply/Plugin/LoadClass.pm is in libreply-perl 0.42-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 | package Reply::Plugin::LoadClass;
our $AUTHORITY = 'cpan:DOY';
$Reply::Plugin::LoadClass::VERSION = '0.42';
use strict;
use warnings;
# ABSTRACT: attempts to load classes implicitly if possible
use base 'Reply::Plugin';
use Module::Runtime 'use_package_optimistically';
use Try::Tiny;
sub execute {
my $self = shift;
my ($next, @args) = @_;
try {
$next->(@args);
}
catch {
if (/^Can't locate object method "[^"]*" via package "([^"]*)"/) {
use_package_optimistically($1);
$next->(@args);
}
else {
die $_;
}
}
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Reply::Plugin::LoadClass - attempts to load classes implicitly if possible
=head1 VERSION
version 0.42
=head1 SYNOPSIS
; .replyrc
[LoadClass]
=head1 DESCRIPTION
If executing a line of code fails due to a method not being defined on a
package, this plugin will load the corresponding module and then try executing
the line again. This simplifies common cases like running C<< DateTime->now >>
at the prompt before loading L<DateTime> - this plugin will cause DateTime to
be loaded implicitly.
=head1 AUTHOR
Jesse Luehrs <doy@tozt.net>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2016 by Jesse Luehrs.
This is free software, licensed under:
The MIT (X11) License
=cut
|