|
NAMEList::Cycle - Objects for cycling through a list of valuesVERSIONVersion 1.04SYNOPSISList::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 seven 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. FUNCTIONSnew( {values => \@values} )Creates a new cycle object, using @values.The "values" keyword can be "vals", if you like. "$cycle->set_values(\@values)"Sets the cycle values and resets the internal pointer.$cycle->resetSets 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 $cycle->dumpReturns a handy string representation of internals.$cycle->nextGives the next value in the sequence.AUTHORAndy Lester, "<andy at petdance.com>"SUPPORTYou can find documentation for this module with the perldoc command.perldoc List::Cycle You can also look for information at:
BUGSPlease report any bugs or feature requests at <https://github.com/petdance/list-cycle/issues>.ACKNOWLEDGEMENTSList::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 & LICENSECopyright 2005-2012 Andy Lester.This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0.
Visit the GSP FreeBSD Man Page Interface. |