$ perl -Mstrict -Mwarnings -E ' > my $cycle = do { > my $val = 0; > sub { return ( ( $val ++ ) % 4 ) + 1; }; > }; > > say $cycle->() for 1 .. 10;' 1 2 3 4 1 2 3 4 1 2 $