File Coverage

blib/lib/CURRENT.pm
Criterion Covered Total %
statement 12 24 50.0
branch 0 4 0.0
condition n/a
subroutine 4 5 80.0
pod n/a
total 16 33 48.4


line stmt bran cond sub pod time code
1             package CURRENT;
2              
3 1     1   52471 use strict;
  1         3  
  1         45  
4 1     1   6 use vars qw( $VERSION );
  1         2  
  1         62  
5 1     1   6 use Carp;
  1         7  
  1         268  
6              
7             $VERSION = '0.01';
8              
9             sub AUTOLOAD {
10 0     0     my ($self) = @_;
11              
12 0           my $caller_class = caller;
13 0           my ($wanted_method) = $CURRENT::AUTOLOAD =~ m{.*::(.*)}g;
14              
15 0           my $object_method = $caller_class->can($wanted_method);
16 0 0         goto $object_method if $object_method;
17              
18 0 0         if ( my $autoload = $caller_class->can('AUTOLOAD') ) {
19 0           require B;
20 0           my $autoload_class = B::svref_2object($autoload)->GV->STASH->NAME;
21              
22 1     1   7 no strict 'refs';
  1         3  
  1         145  
23 0           ${"${autoload_class}::AUTOLOAD"} = "${caller_class}::$wanted_method";
  0            
24              
25 0           goto $autoload;
26             }
27              
28             croak(
29 0           qq{Can't locate object method "$wanted_method"},
30             qq{ via package "$caller_class"},
31             );
32             }
33              
34             1;
35             __END__