OK, so what's the next specification increment? Totally arbitrary embedded whitespace, including newlines? Bring it on!

BTW: The discussion of the "\G assertion" in the Regexp Quote Like Operators section of perlop includes the disquieting warning 'Note also that, currently, "\G" is only properly supported when anchored at the very beginning of the pattern.' (emphasis added). I don't understand all the implications of this restriction, but I strive diligently, perhaps slavishly and superstitiously, to heed it, even making sure that in a regex expression like \G (?<! \A)
(end of last match except when at absolute start of string) the \G assertion appears at the very start of the regex. I mention this because I noticed the expression (?:\{name_a | \G)
in your code and I don't know its possible effect(s). You have been warned!

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other