File Coverage

blib/lib/L.pm
Criterion Covered Total %
statement 22 23 95.6
branch 6 8 75.0
condition n/a
subroutine 6 6 100.0
pod n/a
total 34 37 91.8


line stmt bran cond sub pod time code
1             package L;
2 2     2   111267 use 5.008_001;
  2         131  
  2         93  
3 2     2   14 use strict;
  2         4  
  2         77  
4 2     2   11 use warnings;
  2         8  
  2         129  
5              
6             our $VERSION = '0.01';
7              
8 2     2   7584 use Carp ();
  2         16  
  2         93  
9 2     2   8183 use Module::Load ();
  2         2597  
  2         715  
10              
11             {
12             package
13             UNIVERSAL;
14              
15             our $AUTOLOAD;
16             sub AUTOLOAD {
17 3 50   3   23000 return if $AUTOLOAD =~ /::DESTROY$/;
18 3 50       47 if (my ($module, $method) = ($AUTOLOAD =~ /^(.*)::(.*?)$/)) {
19 3 100       13 if ($module eq 'main') {
20 1         522 Carp::croak(qq{Undefined subroutine &main::$method called});
21             }
22              
23 2         18 Module::Load::load($module);
24              
25 2 100       16343 my $func = $module->can($method)
26             or Carp::croak qq{Can't locate object method "$method" via package "$module"};
27              
28 1         6 $func->(@_);
29             } else {
30 0           die "WTF? $AUTOLOAD";
31             }
32             }
33             }
34              
35             1;
36             __END__