in reply to recursive algorithm for nested data structures
my $grammar = <<'__EOI__' { use strict; use warnings; } parse : list /\Z/ { $item[1] } list : '(' list_ele(s?) ')' { $item[2] } list_ele : list | TERM TERM : /\w+/ __EOI__ [download]