Несколько способов сделать это.
Во-первых, undef $\
.Затем вы сопоставляете что-то вроде
/\<p\>\nTERRANO.*\n\<\/p\>/
, что может зависеть от того, используете ли вы cr / lf или просто lf's /
Второй - использовать циклобъединить строки (плюс все, что находится в $\
) и сопоставить их в одном регулярном выражении, включая сопоставление с тем, что находится в $\
.
Третье - использовать File :: Slurp.
Четвертое - использовать несколько регулярных выражений и цикл для сопоставления каждой строки, и, если все три удовлетворены, сделайте замену.