File Coverage

blib/lib/L.pm
Criterion Covered Total %
statement 24 25 96.0
branch 7 8 87.5
condition n/a
subroutine 7 7 100.0
pod n/a
total 38 40 95.0


line stmt bran cond sub pod time code
1             package L;
2 2     2   27454 use 5.008_001;
  2         7  
3 2     2   10 use strict;
  2         4  
  2         43  
4 2     2   8 use warnings;
  2         8  
  2         54  
5              
6 2     2   732 use version 0.77; our $VERSION = version->declare("v1.0.0");
  2         2947  
  2         12  
7              
8 2     2   150 use Carp ();
  2         5  
  2         23  
9 2     2   818 use Module::Load ();
  2         1554  
  2         319  
10              
11             {
12             package
13             UNIVERSAL;
14              
15             our $AUTOLOAD;
16             sub AUTOLOAD {
17 78890 100   78890   550648 return if $AUTOLOAD =~ /::DESTROY$/;
18 3 50       23 if (my ($module, $method) = ($AUTOLOAD =~ /^(.*)::(.*?)$/)) {
19 3 100       10 if ($module eq 'main') {
20 1         59 Carp::croak(qq{Undefined subroutine &main::$method called});
21             }
22              
23 2         7 Module::Load::load($module);
24              
25 2 100       249 my $func = $module->can($method)
26             or Carp::croak qq{Can't locate object method "$method" via package "$module"};
27              
28 1         5 $func->(@_);
29             } else {
30 0           die "WTF? $AUTOLOAD";
31             }
32             }
33             }
34              
35             1;
36             __END__