По сути, то, что я пытаюсь сделать, это выполнить поиск в довольно большом файле PHP и заменить любой блок кода PHP, который содержит строку «search_term», каким-либо другим кодом. т.е.
<?php
//some stuff
?>
<?php
// some more stuff
$str = "search_term";
// yes...
?>
<?php
// last stuff
?>
должно стать
<?php
//some stuff
?>
HELLO
<?php
// last stuff
?>
На данный момент у меня есть
$string =~ s/<\?php(.*?)search_term(.*?)\?>/HELLO/ims;
Это правильно соответствует ближайшему закрытию ?>
, но совпадение начинается с самого первого вместо ближайшего к строке
search_term
.
Что я делаю не так?