File Coverage

blib/lib/Error/Pure/Always.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 21 21 100.0


line stmt bran cond sub pod time code
1             package Error::Pure::Always;
2              
3 3     3   78483 use strict;
  3         18  
  3         86  
4 3     3   19 use warnings;
  3         5  
  3         83  
5              
6 3     3   1425 use Error::Pure qw(err);
  3         30978  
  3         59  
7              
8             our $VERSION = 0.07;
9              
10             my %OLD_SIG;
11              
12             # Default error type.
13             $ENV{'ERROR_PURE_TYPE'} ||= 'Die';
14              
15             BEGIN {
16 3     3   432 @OLD_SIG{qw(__DIE__)} = @SIG{qw(__DIE__)};
17             $SIG{__DIE__} = sub {
18 8         149034 my $err = shift;
19 8         55 $err =~ s/ at .*\n//ms;
20 8         18 $Error::Pure::LEVEL = 5;
21 8         26 err $err;
22 3         180 };
23             }
24              
25             END {
26 3     3   832 @SIG{qw(__DIE__)} = @OLD_SIG{qw(__DIE__)};
27             }
28              
29             1;
30              
31             __END__