File Coverage

blib/lib/Error/Pure/Always.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             package Error::Pure::Always;
2              
3             # Pragmas.
4 4     4   25369 use strict;
  4         7  
  4         191  
5 4     4   19 use warnings;
  4         4  
  4         109  
6              
7             # Modules.
8 4     4   63418 use Error::Pure qw(err);
  0            
  0            
9              
10             # Version.
11             our $VERSION = 0.05;
12              
13             my %OLD_SIG;
14              
15             # Default error type.
16             $ENV{'ERROR_PURE_TYPE'} ||= 'Die';
17              
18             BEGIN {
19             @OLD_SIG{qw(__DIE__)} = @SIG{qw(__DIE__)};
20             $SIG{__DIE__} = sub {
21             my $err = shift;
22             $err =~ s/ at .*\n//ms;
23             $Error::Pure::LEVEL = 5;
24             err $err;
25             };
26             }
27              
28             END {
29             @SIG{qw(__DIE__)} = @OLD_SIG{qw(__DIE__)};
30             }
31              
32             1;
33              
34             __END__