Even simpler:
perl -MDate::Calc=Calendar -e 'print Calendar(@ARGV)' 2003 12
Yes, simpler. But as I explained in the description, I made this because it was easier than hacking something that already exists. Almost every unix box I use has a handy little utility called cal installed, which does almost exactly what I want.
Except that it uses the current locale. While usually this is laudable, I just want the same output regardless of the locale I'm using. And I wanted the current day to be in reverse video, and the names of the days in bold. And the weeks to start on Mondays, and the names of the days in three letter English abbreviations. Date::Calc::Calendar does almost all of this. As you can probably see, its layout inspired me :)
If I didn't have these wishes, I'd still be using cal instead of the Date::Calc oneliner :)
| [reply] [d/l] [select] |