ディレクティブ leftop, rightop は演算子に関わるオペランドのリストを返す

まんま

#!/usr/bin/env perl

use strict;
use Parse::RecDescent;
use Data::Dumper;

my $grammar =
q{
    inputs : list                   { print Data::Dumper::Dumper($item[1]); }
    list   : '(' <leftop: list_item ',' list_item> ')' { $return = $item[2] }
    list_item : /\w/
};

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

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

で、

()
Bad text!
(a)
$VAR1 = [
          'a'
        ];
(a, b)
$VAR1 = [
          'a',
          'b'
        ];
(a, b, c)
$VAR1 = [
          'a',
          'b',
          'c'
        ];