ディレクティブ nocheck

#!/usr/bin/env perl

use strict;
use Parse::RecDescent;

my $grammar =
q{
    inputs : rule
    rule   : subrule(s) subrule
};

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

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

で、

     Warning (line 3): Subrule sequence "subrule(s) subrule" will (almost
                       certainly) fail.

              Warning: Undefined (sub)rule "subrule" used in a production.
#!/usr/bin/env perl

use strict;
use Parse::RecDescent;

my $grammar =
q{
    <nocheck>
    inputs : rule
    rule   : subrule(s) subrule
};

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

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

で、

     Warning (line 4): Subrule sequence "subrule(s) subrule" will (almost
                       certainly) fail.

              Warning: Undefined (sub)rule "subrule" used in a production.

変わらない?