Acme-Partitioner
view release on metacpan or search on metacpan
lib/Acme/Partitioner.pm view on Meta::CPAN
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
);
our $VERSION = '0.01';
sub using {
my ($class, @list) = @_;
bless {
by_string => { map { $_ => 0 } @list },
sublists => [\@list],
}, $class;
}
sub once_by {
my ($self, $sub) = @_;
Acme::Partitioner::Actor::_new(undef, "once", $sub, $self);
}
lib/Acme/Partitioner.pm view on Meta::CPAN
}
package Acme::Partitioner::Actor;
use 5.012000;
use strict;
use warnings;
sub _new {
my ($old, $type, $sub, $partitioner) = @_;
$partitioner //= $old->{partitioner};
bless {
partitioner => $partitioner,
subs => [
($old ? @{ $old->{subs} } : ()),
[$type, $sub],
],
}, __PACKAGE__
}
sub once_by {
my ($self, $sub) = @_;
( run in 1.736 second using v1.01-cache-2.11-cpan-de7293f3b23 )