Strain.pm (424B) - raw
1 package Strain; 2 use strict; 3 use warnings; 4 use Exporter qw<import>; 5 our @EXPORT_OK = qw<keep discard>; 6 7 sub keep { 8 my ( $input, $function ) = @_; 9 my @keep; 10 foreach ( @{ $input } ) { 11 push @keep => $_ if $function->($_); 12 } 13 return \@keep; 14 } 15 16 sub discard { 17 my ( $input, $function ) = @_; 18 my @discard; 19 foreach ( @{ $input } ) { 20 push @discard => $_ unless $function->($_); 21 } 22 return \@discard; 23 } 24 25 1;