%+ and %- are "just" tied hashes which give access to the underlying named capture data buried away in the Perl core. Even if you were able to alter the hashes, there's no guarantee that it would effect the underlying data, so using ?(<mybuf>) later on in the regular expression might give surprising results.

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