in reply to month off by one?

Basically, anything that you might want to replace with a textual description(month, day of week, is there anyone else?) is 0 based, all the others are what they are supposed to be...

This is so that you can say:

my @days=qw(Mon Tue Wed Thu Fri Sat Sun); my $day=$days[(localtime())[6];

GoldClaw