# my $input = "(cvtype='problem') and (problem_description match '*') and ((problem_synopsis match 'FCSIM') or (problem_synopsis match 'ATTE')) and (create_time>time('06/01/2014 0:00:00')) and (create_time<\/:"'\*_]+/ }; my $parser = Parse::RecDescent->new($grammar); my $result = $parser->startrule($input) or die "Could Not Parse!\n"; print Dumper $result;