File Coverage

blib/lib/SortKey/Num/pattern_count.pm
Criterion Covered Total %
statement 8 16 50.0
branch 0 4 0.0
condition n/a
subroutine 3 6 50.0
pod 0 2 0.0
total 11 28 39.2


line stmt bran cond sub pod time code
1             package SortKey::Num::pattern_count;
2              
3 1     1   433929 use 5.010001;
  1         4  
4 1     1   6 use strict;
  1         2  
  1         30  
5 1     1   5 use warnings;
  1         7  
  1         353  
6              
7             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
8             our $DATE = '2024-05-15'; # DATE
9             our $DIST = 'SortKey-Num-pattern_count'; # DIST
10             our $VERSION = '0.002'; # VERSION
11              
12             sub meta {
13             return +{
14 0     0 0   v => 1,
15             args => {
16             pattern => {
17             schema => 're_from_str*',
18             req => 1,
19             },
20             string => {
21             schema => ['str*', min_len=>1],
22             req => 1,
23             },
24             },
25             args_rels => {
26             'req_one' => [qw/regexp/],
27             },
28             };
29             }
30              
31             sub gen_keygen {
32 0     0 0   my %args = @_;
33              
34 0 0         my $re = $args{pattern} ? $args{pattern} : qr/\Q$args{string}\E/;
35              
36             sub {
37 0 0   0     my $str = @_ ? shift : $_;
38 0           my $count = 0;
39 0           $count++ while $str =~ /$re/g;
40 0           $count;
41 0           };
42             }
43              
44             1;
45             # ABSTRACT: Number of occurrences of string/regexp pattern as sort key
46              
47             __END__