#!/usr/bin/perl use strict; use warnings; my @lines = split /\n/, <<'END'; begin{verbatim} hello all end{verbatim} END s{((?:begin|end)){verbatim}}{${1}{whatever}} for @lines; print "$_\n" for @lines; __END__ begin{whatever} hello all end{whatever}