Algorithm::GenerateSequence - a sequence generator
my $gen = Algorithm::GenerateSequence->new( [qw( one two three )], [qw( hey bee )], ); print join(' ', $gen->next), "\n"; # one hey print join(' ', $gen->next), "\n"; # one bee print join(' ', $gen->next), "\n"; # two hey print join(' ', $gen->next), "\n"; # two bee ...
Algorithm::GenerateSequence provides an iterator interface to a sequence you define in terms of the symbols to use in each position.
You may use a different amount of symbols in each position and the module will iterate over them correctly. This might be useful in identifying all the cards in a deck:
my $deck = Algorithm::GenerateSequence->new( [qw( Heart Diamond Spade Club )], [qw( A 2 3 4 5 6 7 8 9 10 J Q K )], );
Or for a range of addresses to scan:
my $scan = Algorithm::GenerateSequence->new( , , [0..254],  );
@values contains arrays of symbols which will be used to form the sequence
returns a list containing the next value in the sequence, or false if at the end of the sequence
return the remainder of the sequence as a list of array references
None currently known. If you find any please make use of http://rt.cpan.org by mailing your report to bug-Algorithm-GenerateSequence@rt.cpan.org, or contact me directly.
Richard Clamp <email@example.com>
Copyright (C) 2003 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.