The %e and %a are just formatting strings. Read
perldoc Tk::Month to see how to change it. To get rid of the anonymous sub, it's simple, try this. I showed how to see what is passed to the sub. If this dosn't answer
your question, be more specific in what you need to do.
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::Month;
my $mw = MainWindow->new();
my $month = "November";
my $year = "2006";
my $m = $mw->Month(
-printformat => '%a %e',
-includeall => 0,
-month => $month,
-year => $year,
-command => \&mysub
);
$m->pack;
MainLoop;
sub mysub {
print scalar @_,"\n";
print $_[0],"\n";
print $_[1],"\n";
print @{$_[1]},"\n";
my ($ym, $wd) = @_;
my ($month, $year) = split( /\s+/ , $ym );
my ($wday, $date) = split( /\s+/ , $wd->[0] );
print "$wday, $month $date $year\n";
}