On your point I told a friend why Perl 6 Rules, and he wasn't impressed. It's easy enough to do something like that in C++, and usually we don't bother with anything that elaborate: just assign to temporaries and copy it home to "commit".
I am struggling to find the C++ syntax/grammar that provides for rx in C++/Stroustrup - is this a new addition to the language (C#)???
One thing that really struck home in Apolcalypse 5 was that an rx spec is a program, not a string. And Perl 6 is the first language to comprehend this important distinction.
Having a clear role for ()[]{}<> gives an amazingly compact syntax...program blocks in a few chars, not a few lines.
Oh, and the ability to create and override grammars as though they were classes, and yet use them in familiar-ish rx s.