Algorithm-GenerateSequence
view release on metacpan or search on metacpan
lib/Algorithm/GenerateSequence.pm view on Meta::CPAN
=cut
sub new {
my $class = shift;
my @values = @_;
my @counters = (0) x @values;
my ($started, $ended);
bless sub {
return if $ended;
if ($started++) {
my $max = $#counters;
# mmm, long addition
do {
my $new = ++$counters[ $max ];
# check for overflow
goto DONE if $new % @{ $values[ $max ] };
( run in 0.719 second using v1.01-cache-2.11-cpan-de7293f3b23 )