Я получаю левую и правую части замены регулярного выражения в качестве аргументов функции. Я хочу, чтобы мои пользователи могли использовать буферы захвата, но это не работает так, как я пытаюсь это сделать.
my $string = "This is my string";
$string = regex_replace($string,'is (my) string','$1');
print "$string\n";
sub regex_replace {
my ( $string,$left,$right ) = @_;
$string =~ s/$left/$right/gsm;
return $string;
}
Выполнение этого вывода «This $ 1» вместо «This my», которое я пытаюсь получить. Есть ли способ выполнить то, что я пытаюсь сделать здесь?