##
# template example
identifier TEMPLATE
{
code; code; code;
query:[....];
more code that uses query results; etc.
}
##
##
$TemplateParser = new Parse::RecDescent(<<'__GRAMMAR__');
template: identifier 'TEMPLATE' '{' statement(s) '}'
statement: expression
| conditional
| loopcontrol
| query() >
__GRAMMAR__