GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Cycle(3) User Contributed Perl Documentation Cycle(3)

List::Cycle - Objects for cycling through a list of values

Version 1.04

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 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.

Creates a new cycle object, using @values.

The "values" keyword can be "vals", if you like.

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>"

You can find documentation for this module with the perldoc command.

    perldoc List::Cycle

You can also look for information at:

  • Project home page and source code repository

    <https://github.com/petdance/list-cycle>

  • Issue tracker

    <https://github.com/petdance/list-cycle/issues>

Please report any bugs or feature requests at <https://github.com/petdance/list-cycle/issues>.

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-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.

2020-12-23 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.