Você pode usar o operador ..
ou intervalo para limitar as substituições às seções de início / fim :
while (<DATA>) {
if ( /\begin/ .. /\end/ ) {
s/^(?!\)/\item /;
}
print;
}
__DATA__
7. Masi is the same as
\begin{enumerate}
A
B
ABC ha lorem
\end{enumerate}
1. ABC is
\begin{enumerate}
P
B
Lorem maam
\end{enumerat
Se você preferir um script de linha de comando:
perl -ne 'if (/\begin/../\end/) {s/^(?!\)/\item /};print'
Ou mais curto com um print
implícito:
perl -pe 'if (/\begin/../\end/) {s/^(?!\)/\item /}'
O (?!...)
é uma afirmação negativa de antecipação.