I don't understand your code. But to create "rotating" arrays, you can use the
% operator - the modulo.
#!/usr/bin/perl
use warnings;
use strict;
my @month_names = qw( January February March April May June July
August September October November December );
for my $start (0 .. 11) {
for my $month ($start .. 11 + $start) {
print $month_names[ $month % 12 ], ' ';
}
print "\n";
}
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,