List::Cycle - Objects for cycling through a list of values
Version 1.00
List::Cycle gives you an iterator object for cycling through a series of values. The canonical use is for cycling through a list of colors for alternating bands of color on a report.
use List::Cycle; my $colors = List::Cycle->new( {values => ['#000000', '#FAFAFA', '#BADDAD']} ); print $colors->next; # #000000 print $colors->next; # #FAFAFA print $colors->next; # #BADDAD print $colors->next; # #000000 print $colors->next; # #FAFAFA ... etc ...
You'd call it at the top of a loop:
while ( ... ) { my $color = $colors->next; print qq{<tr bgcolor="$color">; ... }
Note that a List::Cycle object is not a standard Perl blessed hash. It's an inside-out object, as suggested in Perl Best Practices. In the five years since PBP has come out, inside-out objects have been almost universally ignored, but I keep List::Cycle as an example. If you don't care about the internals of the object, then List::Cycle is a fine module for you to use.
Creates a new cycle object, using @values.
The values keyword can be vals, if you like.
values
vals
$cycle->set_values(\@values)
Sets the cycle values and resets the internal pointer.
Sets the internal pointer back to the beginning of the cycle.
my $color = List::Cycle->new( {values => [qw(red white blue)]} ); print $color->next; # red print $color->next; # white $color->reset; print $color->next; # red, not blue
Returns a handy string representation of internals.
Gives the next value in the sequence.
Andy Lester, <andy at petdance.com>
<andy at petdance.com>
You can find documentation for this module with the perldoc command.
perldoc List::Cycle
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/List-Cycle
CPAN Ratings
http://cpanratings.perl.org/d/List-Cycle
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=List-Cycle
Search CPAN
http://search.cpan.org/dist/List-Cycle
Source code repository
http://github.com/petdance/list-cycle
Please report any bugs or feature requests to bug-list-cycle @ rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=List-Cycle. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-list-cycle @ rt.cpan.org
List::Cycle is a playground that uses some of the ideas in Damian Conway's marvelous Perl Best Practices. http://www.oreilly.com/catalog/perlbp/ One of the chapters mentions a mythical List::Cycle module, so I made it real.
Thanks also to Ricardo SIGNES and Todd Rinaldo for patches.
Copyright 2005-2010 Andy Lester.
This program is free software; you can redistribute it and/or modify it under the terms of either:
the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
the Artistic License version 2.0.
1; # End of List::Cycle
To install List::Cycle, copy and paste the appropriate command in to your terminal.
cpanm
cpanm List::Cycle
CPAN shell
perl -MCPAN -e shell install List::Cycle
For more information on module installation, please visit the detailed CPAN module installation guide.