c:\@Work\Perl\monks>perl -wMstrict -le "my @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); ;; for my $offset (-25 .. -11) { printf 'offset %3d: ', $offset; my @sel = map $months[ ($_ + $offset) % @months ], -109 .. -95; printf qq{@sel}; print ''; } " offset -25: Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan offset -24: Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb offset -23: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar offset -22: Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr offset -21: Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May offset -20: Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun offset -19: May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul offset -18: Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug offset -17: Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep offset -16: Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct offset -15: Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov offset -14: Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec offset -13: Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan offset -12: Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb offset -11: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar