File Coverage

blib/lib/Sort/Sub/data_struct_by_data_cmp.pm
Criterion Covered Total %
statement 23 24 95.8
branch 3 6 50.0
condition n/a
subroutine 7 8 87.5
pod 0 2 0.0
total 33 40 82.5


line stmt bran cond sub pod time code
1             package Sort::Sub::data_struct_by_data_cmp;
2              
3             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
4             our $DATE = '2019-12-15'; # DATE
5             our $DIST = 'Sort-Sub-data_struct_by_data_cmp'; # DIST
6             our $VERSION = '0.002'; # VERSION
7              
8 2     2   1434 use 5.010001;
  2         7  
9 2     2   8 use strict;
  2         4  
  2         33  
10 2     2   8 use warnings;
  2         3  
  2         45  
11              
12 2     2   773 use Data::Cmp qw(cmp_data);
  2         1129  
  2         150  
13              
14             sub meta {
15             return {
16 0     0 0 0 v => 1,
17             summary => 'Sort data structures by Data::Cmp',
18             };
19             }
20              
21             sub gen_sorter {
22 2     2 0 36 my ($is_reverse, $is_ci) = @_;
23              
24             sub {
25 2     2   12 no strict 'refs';
  2         4  
  2         211  
26              
27 8     8   93 my $caller = caller();
28 8 50       15 my $a = @_ ? $_[0] : ${"$caller\::a"};
  8         17  
29 8 50       13 my $b = @_ ? $_[1] : ${"$caller\::b"};
  8         13  
30              
31 8         17 my $cmp = cmp_data($a, $b);
32              
33 8 50       234 $is_reverse ? -1*$cmp : $cmp;
34 2         10 };
35             }
36              
37             1;
38             # ABSTRACT: Sort data structures by Data::Cmp
39              
40             __END__