File Coverage

blib/lib/UNIVERSAL/Acme.pm
Criterion Covered Total %
statement 12 14 85.7
branch 3 4 75.0
condition n/a
subroutine 2 2 100.0
pod n/a
total 17 20 85.0


line stmt bran cond sub pod time code
1             package UNIVERSAL::Acme;
2              
3             $VERSION = '0.01';
4              
5             my %ORIG;
6             sub import {
7 1     1   16 my @SAVE = grep !/[A-Z]/, keys %UNIVERSAL::;
8 1         4 $ORIG{$_} = \&{'UNIVERSAL::'.$_} for @SAVE;
  2         10  
9 1         2199 delete $UNIVERSAL::{$_} for @SAVE;
10             }
11              
12             { package UNIVERSAL;
13             sub AUTOLOAD {
14 12210     12210   41854 (my $al = $AUTOLOAD) =~ s/.*:://;
15 12210 100       20178 if ($IN_UA) {
16 6104 50       10908 if (exists $ORIG{$al}) {
17 6104         6069 goto &{$ORIG{$al}};
  6104         138601  
18             } else {
19 0         0 local *UNIVERSAL::AUTOLOAD;
20 0         0 goto &$AUTOLOAD;
21             }
22             } else {
23 6106         7058 local $IN_UA = 1;
24 6106         6581 eval { $_[0]->$al(@_[1..$#_]) }
  6106         23394  
25             }
26             }
27             }
28              
29             1;
30             __END__