File Coverage

blib/lib/Hydrogen.pm
Criterion Covered Total %
statement 17 27 62.9
branch 0 6 0.0
condition n/a
subroutine 6 7 85.7
pod 1 1 100.0
total 24 41 58.5


line stmt bran cond sub pod time code
1 30     30   1046 use 5.008001;
  30         102  
2 30     30   156 use strict;
  30         60  
  30         653  
3 30     30   144 use warnings;
  30         82  
  30         883  
4              
5 30     30   198 use List::Util ();
  30         55  
  30         524  
6 30     30   166 use Scalar::Util ();
  30         52  
  30         2014  
7              
8             package Hydrogen;
9              
10             our $AUTHORITY = 'cpan:TOBYINK';
11             our $VERSION = '0.017';
12              
13 30     30   12369 use Exporter::Shiny qw( croak fc );
  30         144233  
  30         199  
14              
15             sub croak {
16 0     0 1   my ( $message, @args ) = @_;
17 0 0         if ( @args ) {
18 0           require Data::Dumper;
19 0           local $Data::Dumper::Terse = 1;
20 0           local $Data::Dumper::Indent = 0;
21             $message = sprintf $message, map {
22 0 0         ref($_) ? Data::Dumper::Dumper($_) : defined($_) ? $_ : '(undef)'
  0 0          
23             } @args;
24             }
25 0           require Carp;
26 0           @_ = $message;
27 0           goto \&Carp::croak;
28             }
29              
30             if ( $] ge '5.016' ) {
31             *fc = \&CORE::GLOBAL::fc;
32             }
33             else {
34             eval 'sub fc { lc( @_ ? $_[0] : $_ ) }';
35             }
36              
37             # Compatibility shim for Perl < 5.10
38             eval 'require re';
39             unless ( exists &re::is_regexp ) {
40             require B;
41             *re::is_regexp = sub {
42             eval { B::svref_2object( $_[0] )->MAGIC->TYPE eq 'r' };
43             };
44             }
45              
46             1;
47              
48             __END__