File Coverage

blib/lib/Quote/Ref.pm
Criterion Covered Total %
statement 23 25 92.0
branch 2 4 50.0
condition 0 6 0.0
subroutine 7 7 100.0
pod n/a
total 32 42 76.1


line stmt bran cond sub pod time code
1             package Quote::Ref;
2              
3 4     4   324376 use v5.12.0;
  4         41  
4              
5 4     4   23 use warnings;
  4         5  
  4         143  
6              
7 4     4   23 use Carp qw(croak);
  4         8  
  4         227  
8              
9 4     4   43 use XSLoader;
  4         7  
  4         190  
10             BEGIN {
11 4     4   16 our $VERSION = '0.04';
12 4         3019 XSLoader::load __PACKAGE__, $VERSION;
13             }
14              
15             my %export = (
16             qwa => HINTK_QWA,
17             qwh => HINTK_QWH,
18             );
19              
20             sub import {
21 5     5   161 my $class = shift;
22              
23 5         11 my @todo;
24 5         11 for my $item (@_) {
25 0   0     0 push @todo, $export{$item} || croak qq{"$item" is not exported by the $class module};
26             }
27 5 50       26 for my $item (@todo ? @todo : values %export) {
28 10         3076 $^H{$item} = 1;
29             }
30             }
31              
32             sub unimport {
33 1     1   7 my $class = shift;
34 1         2 my @todo;
35 1         2 for my $item (@_) {
36 0   0     0 push @todo, $export{$item} || croak qq{"$item" is not exported by the $class module};
37             }
38 1 50       4 for my $item (@todo ? @todo : values %export) {
39 2         1441 delete $^H{$item};
40             }
41             }
42              
43             'ok'
44              
45             __END__