I've never used it before, but it looks fun! I think you should start small, then build up your grammar. I got rid of the square brackets around you month names. They are for regex character classes, if I understand this module correctly:
my $grammar = q{
transaction: date
date: /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\
+s+\d{1,2},/
};
# My output...
# $VAR1 = 'Oct 31,';
UPDATE: and a little more readable:
my $grammar = q{
transaction: date
date: /(
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|D
+ec) # Month
\s+ \d{1,2} , \s+ \d{4}
+ # Day, Year
)
\s+ (\d{1,2} : \d{1,2}) : \d{1,2} \s+ (A|P)M
+ # Time
\s+ PCKLog \s+ log
/x
};