grammar main; macro statement_control: () is parsed (/?$expr:=()?/) { return ' sub prefix:<_if_expr> { return $expr ; } sub prefix:<_if_block> { $block } eval( \' if ( &{\\\'prefix:<_if_expr>\\\'}() ) { &{\\\'prefix:<_if_block>\\\'}() } \', :lang ); '; }