Sha256: b2325530d2901b4c2010ad218e671aa95cb3ff484fcfdd9a0bcddb82edca04a0
Contents?: true
Size: 554 Bytes
Versions: 323
Compression:
Stored size: 554 Bytes
Contents
package Example; use strict; use warnings; sub keep { [ _filter(@_, 1) ] } sub discard { [ _filter(@_, 0) ] } sub _filter { my ($list, $function, $is_keeping) = @_; die "ArgumentError: 2nd parameter must be a function reference" unless ref $function eq 'CODE'; my @result; foreach my $element (@$list) { if ($is_keeping) { push @result, $element if $function->($element); next; } # discard push @result, $element unless $function->($element); } return @result; } 1;
Version data entries
323 entries across 323 versions & 1 rubygems