File Coverage

blib/lib/Hash/Util/FieldHash/Compat.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Hash::Util::FieldHash::Compat; # git description: v0.10-5-g9de9e11
2             # ABSTRACT: Use Hash::Util::FieldHash or ties, depending on availability
3             # KEYWORDS: fields hashes fieldhash backwards compatibility backcompat tie
4              
5 1     1   13258 use strict;
  1         2  
  1         23  
6 1     1   2 use warnings;
  1         3  
  1         55  
7              
8             our $VERSION = '0.11';
9              
10 1     1   4 use constant REAL_FIELDHASH => do { local $@; local $SIG{__DIE__}; eval { require Hash::Util::FieldHash } };
  1         1  
  1         1  
  1         1  
  1         3  
  1         1  
  1         517  
11              
12             BEGIN {
13 1     1   843 if ( REAL_FIELDHASH ) {
14 1         5 require Hash::Util::FieldHash;
15 1         177 Hash::Util::FieldHash->import(":all");
16             } else {
17             require Hash::Util::FieldHash::Compat::Heavy;
18             }
19             }
20              
21             sub import {
22 1     1   4 if ( REAL_FIELDHASH ) {
23 1         1 my $class = "Hash::Util::FieldHash";
24              
25 1         1 shift @_;
26 1         2 unshift @_, $class;
27              
28 1         1486 goto $class->can("import");
29             } else {
30             my $class = shift;
31             $class->export_to_level(1, $class, @_);
32             }
33             }
34              
35             __PACKAGE__
36              
37             __END__