in reply to Implementing a cyclic array
You could construct an iterator.
use strict; use warnings; my @arr1 = qw{ tom harry diana nick sally henry }; my $iterator = do { my $idx = -1; my @actions = ( sub { print qq{$_[ 0 ] plays\n} }, sub { print qq{$_[ 0 ] eats\n} }, sub { print qq{$_[ 0 ] sleeps\n} }, ); sub { $idx ++; $idx = 0 if $idx > $#actions; &{ $actions[ $idx ] }; }; }; $iterator->( $_ ) for @arr1;
The output
tom plays harry eats diana sleeps nick plays sally eats henry sleeps
I hope this is of interest.
Cheers,
JohnGG
Update: Changed array @methods to @actions to avoid confusion since this is nothing to do with OO.
|
|---|