my @mos = map { sprintf q{%02d}, $_ } 1 .. 12; my @feb = ( @mos, 13 .. 28 ); my @leap = ( @feb, 29 ); my @thirty = ( @leap, 30 ); my @thirtyone = ( @thirty, 31 );