このコードを使用して、正規表現の一致によって文字列を変更しています。
$a->{'someone'} = "a _{person}";
$a->{'person'} = "gremlin";
$string = "_{someone} and a thing"
while($string =~ /(_\{(.*?)\}/g){
$search = metaquote($1);
$replace = $a->{$2};
$string =~ s/$search/$replace/;
}
結果は次のa _{person} and a thing
とおりですが、私は期待しています: a gremlin and a thing
.
これを機能させるにはどうすればよいですか?