反復指定子の第二引数

#!/usr/bin/env perl

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

my $grammar =
q{
    inputs : input(s /;/) { print Data::Dumper::Dumper($item[1]); }

    input  : 'a' 'b'  { [@item[1,2]]; }
};

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

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

で、

ab
$VAR1 = [
          [
            'a',
            'b'
          ]
        ];
abab
$VAR1 = [
          [
            'a',
            'b'
          ]
        ];
ab;ab
$VAR1 = [
          [
            'a',
            'b'
          ],
          [
            'a',
            'b'
          ]
        ];
ab;ab;ab
$VAR1 = [
          [
            'a',
            'b'
          ],
          [
            'a',
            'b'
          ],
          [
            'a',
            'b'
          ]
        ];