File Coverage

blib/lib/B/Hooks/OP/Check/EntersubForCV.pm
Criterion Covered Total %
statement 29 29 100.0
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod 1 1 100.0
total 40 41 97.5


line stmt bran cond sub pod time code
1 2     2   54096 use strict;
  2         5  
  2         80  
2 2     2   10 use warnings;
  2         4  
  2         105  
3              
4             package B::Hooks::OP::Check::EntersubForCV;
5              
6 2     2   1841 use parent qw/DynaLoader/;
  2         658  
  2         9  
7 2     2   8030 use B::Hooks::OP::Check 0.19;
  2         1844  
  2         67  
8 2     2   14 use Scalar::Util qw/refaddr/;
  2         3  
  2         289  
9 2     2   1934 use B::Utils 0.19 ();
  2         12763  
  2         448  
10              
11             our $VERSION = '0.09';
12              
13 2     2 1 411 sub dl_load_flags { 0x01 }
14              
15             __PACKAGE__->bootstrap($VERSION);
16              
17             my %CALLBACKS;
18              
19             sub import {
20 2     2   26 my $class = shift;
21              
22 2 50       13 die 'odd number of arguments'
23             unless @_ % 2 == 0;
24              
25 2         9 while (@_) {
26 3         4 my ($cv, $cb) = (shift, shift);
27 3         70 $CALLBACKS{ refaddr $cv } = register($cv, $cb);
28             }
29              
30 2         54 return;
31             }
32              
33             sub unimport {
34 1     1   18621 my $class = shift;
35              
36 1         4 unregister($_) for delete @CALLBACKS{ map { refaddr $_ } @_ };
  1         21  
37 1         23 return;
38             }
39              
40             1;
41              
42             __END__