ディレクティブ autoscore

#!/usr/bin/env perl

use strict;
use Parse::RecDescent;

my $grammar =
q{
    inputs : <autoscore: 1>
           | 'a'  { print "*a1 $score $score_return*\n"; }
           | 'a'  { print "*a2 $score $score_return*\n"; }
           | 'a'  { print "*a3 $score $score_return*\n"; }
};

my $parse = new Parse::RecDescent ($grammar);

while (<>)
{
    defined $parse->inputs($_) or print "Bad text!\n";
}

で、

a
*a1  *
*a2 1 1*
*a3 1 1*