/usr/share/doc/libparse-recdescent-perl/examples/demo_matchrule2.pl is in libparse-recdescent-perl 1.967009+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/usr/bin/perl -sw
use vars qw($animal);
use Parse::RecDescent;
$RD_AUTOACTION = q{ $last = $item[1] };
$grammar = q {
sequence: <rulevar: local $last>
sequence: base <matchrule: after_$last >(3..)
{ [ $item[1], @{$item[2]} ] }
| base sequence
{ $item[2] }
base: /[ACGT]/
after_A: /[C]/
after_C: /[AG]/
after_G: /[CT]/
after_T: /[G]/
};
$parser = new Parse::RecDescent( $grammar ) or
die "bad grammar; bailing";
local $/;
use AutoDump;
show $parser->sequence(<DATA>);
__DATA__
AAACTTTAAAACGTGCGCACGTGTAAAAAA
|