http://qs1969.pair.com?node_id=11140443


in reply to Code expressions in regex refer to the regex group captured, by name / relative

See %+ and %-; the following prints "oo":

use warnings; use strict; 'foo' =~ /(?'name'(?=o)(\w+))(?{print $+{name}})/;

But also note the documentation of (?{...}):

WARNING: Using this feature safely requires that you understand its limitations. Code executed that has side effects may not perform identically from version to version due to the effect of future optimisations in the regex engine. For more information on this, see Embedded Code Execution Frequency.