File Coverage

lib/Array/KeepGrepped.pm
Criterion Covered Total %
statement 9 9 100.0
branch 2 2 100.0
condition n/a
subroutine 1 1 100.0
pod 0 1 0.0
total 12 13 92.3


line stmt bran cond sub pod time code
1             package Array::KeepGrepped;
2             # ABSTRACT: Like grep, only keeps the stuff it filters out
3              
4             our $VERSION = 5;
5              
6             require Exporter;
7             @ISA = qw/Exporter/;
8             @EXPORT_OK = qw/kgrep/;
9              
10             sub kgrep (&@) {
11 4     4 0 2842 my $filter = shift;
12 4         21 my $filtered = [];
13 4         9 my @keep;
14 4         5 local $_;
15 4         8 for (@_) {
16 23 100       45 if ( $filter->() ) {
17 10         50 push @keep, $_;
18             }
19             else {
20 13         55 push @$filtered, $_;
21             }
22             }
23 4         17 return ($filtered, @keep);
24             }
25              
26             1;
27              
28             __END__