| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Acme::CPANModules::ModuleAutoinstallers; |
|
2
|
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
447063
|
use strict; |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
171
|
|
|
4
|
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY |
|
6
|
|
|
|
|
|
|
our $DATE = '2024-08-29'; # DATE |
|
7
|
|
|
|
|
|
|
our $DIST = 'Acme-CPANModules-ModuleAutoinstallers'; # DIST |
|
8
|
|
|
|
|
|
|
our $VERSION = '0.004'; # VERSION |
|
9
|
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
our $LIST = { |
|
11
|
|
|
|
|
|
|
summary => 'List of modules that autoinstalls other modules during run-time', |
|
12
|
|
|
|
|
|
|
description => <<'MARKDOWN', |
|
13
|
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
These "module autoinstallers" modules can automatically install missing module |
|
15
|
|
|
|
|
|
|
during run-time using one of installers (usually `cpanm` a.k.a. |
|
16
|
|
|
|
|
|
|
). Convenient when running a Perl script (that comes without |
|
17
|
|
|
|
|
|
|
a proper distribution or `cpanfile`) that uses several modules which you might |
|
18
|
|
|
|
|
|
|
not have. The alternative to lib::xi is the "trial and error" method: repeatedly |
|
19
|
|
|
|
|
|
|
run the Perl script to see which module it tries and fails to load. |
|
20
|
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
They work by installing a hook in `@INC`. Read more about require hooks in |
|
22
|
|
|
|
|
|
|
`perlfunc` under the `require` function. |
|
23
|
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
MARKDOWN |
|
25
|
|
|
|
|
|
|
entries => [ |
|
26
|
|
|
|
|
|
|
{module => 'lazy'}, |
|
27
|
|
|
|
|
|
|
{module => 'lib::xi'}, |
|
28
|
|
|
|
|
|
|
{module => 'Module::AutoINC'}, |
|
29
|
|
|
|
|
|
|
{module => 'Require::Hook::More'}, # actually autoinstalling feature not yet implemented |
|
30
|
|
|
|
|
|
|
], |
|
31
|
|
|
|
|
|
|
}; |
|
32
|
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
1; |
|
34
|
|
|
|
|
|
|
# ABSTRACT: List of modules that autoinstalls other modules during run-time |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
__END__ |