use Test::More tests => 4; use strict; use warnings; use_ok("List::MapList"); my $code = [ sub { $_ + 1 }, sub { $_ + 2 }, sub { $_ + 3 }, sub { $_ + 4 } ]; { my @digits = qw(1 2 3 4 5 6 7 8 9); my @mapped = mapcycle($code, @digits); is_deeply( \@mapped, [qw(2 4 6 8 6 8 10 12 10)], "map 1-9 through incremental incrementing" ); } { my @digits = qw(9 8 7 6 -1 -2 -3 -4); my @mapped = mapcycle($code, @digits); is_deeply( \@mapped, [qw(10 10 10 10 0 0 0 0)], "another map through incremental incrementing" ); } { my $rotsome = [ sub { tr/a-zA-Z/n-za-mN-ZA-M/; $_ }, sub { tr/a-zA-Z/n-za-mN-ZA-M/; $_ }, sub { $_ }, ]; my $plaintext = "Too many secrets."; my $cyphertext = join '', mapcycle($rotsome, split //, $plaintext); is($cyphertext, "Gbo zaal frcertf.", "correct cyphertext"); }