Как заменить совпадения с помощью Regexp::Grammars?
Я использую Regexp::Grammars
искать и извлекать информацию из сложного текстового источника, но в конечном итоге я хочу также заменить этот источник. Есть ли способ сделать это, прямо или косвенно, используя Regexp::Grammars
?
Например, предположим, у меня есть следующее определение:
use Regexp::Grammars;
qr {
<[element]>*
<rule: element>
<target> | <word> | <bracket>
<rule: target>
<define> \( (<word>)* \)
<token: define>
define
<token: word>
\w+
<token: bracket>
[()]
}xm
Как бы я заменил все <target>
с некоторой заменой, которая, скажем, является функцией от <word>
между скобками?