File Coverage

lib/LEOCHARRE/Debug.pm
Criterion Covered Total %
statement 22 22 100.0
branch 2 2 100.0
condition 3 4 75.0
subroutine 7 7 100.0
pod n/a
total 34 35 97.1


line stmt bran cond sub pod time code
1             package LEOCHARRE::Debug;
2 3     3   62430 use strict;
  3         6  
  3         87  
3 3     3   16 use Carp;
  3         5  
  3         377  
4             our $VERSION = sprintf "%d.%02d", q$Revision: 1.3 $ =~ /(\d+)/g;
5              
6              
7              
8             sub import {
9 6     6   529 my $caller = scalar(caller);
10 3     3   16 no strict 'refs';
  3         8  
  3         92  
11 3     3   16 no warnings;
  3         4  
  3         641  
12              
13             # create the variable in caller,
14             # then get a ref to it for debug()
15             ### $caller
16 6         10 my $_flag = 0;
17 6         10 *{"$caller\:\:DEBUG"} = \$_flag;
  6         41  
18              
19 6         30 *{"$caller\:\:debug"} = sub {
20             # my $subname = (caller(1))[3] || 'main::debug'; # seems like only reason is if debug() is used in main::debug, then shows LEOCHARRE::Debug::__ANON__() , of course
21 11 100 100 11   13054 $_flag ? warn( sprintf "%s() @_\n", (caller(1))[3] || 'main::debug' ) : 1
22 6         25 };
23 6   50 2   16 *{"$caller\::warnf"} = sub { warn( sprintf "%s() @_", (caller(1))[3] || 'main::warnf') };
  6         4888  
  2         5726  
24              
25             }
26              
27              
28              
29              
30              
31              
32              
33             #3 at lib/LEOCHARRE/Debug.pm line 27.
34              
35              
36              
37              
38             1;
39              
40             __END__