in reply to Anchors, bleh :(
if the text body can be split flatly (that is not nested)
into parts which need mangling
and into parts to be left alone
it would be easy.
Then, you could loop through the text like this
(but maybe you should not use the patterns from below:-)
givesuse strict; use warnings; my $text = join q{}, <DATA>; my $newtext = q{}; while ($text =~ m{ \G # start where we left (.*?) # text to be mangled (?: # followed by STARTPATTERN # the start of verbatim mark (.*?) # the text to be taken verbatim ENDPATTERN # the end of verbatim mark )? # must not be always present }xmsg) { # add the mangled version of the text $newtext .= mangle($1); if (defined $2) { # if there is a verbatim part, copy it verbatim $newtext .= $2; } } print $newtext; exit 0; sub mangle { return uc $_[0]; } __DATA__ Once upon STARTPATTERNa timeENDPATTERN there was a Perl monk. STARTPATTERNBy steadily trainingENDPATTERN the great virtues he became very wise...
Hope this helpsONCE UPON a time THERE WAS A PERL MONK. By steadily training THE GREAT VIRTUES HE BECAME VERY WISE...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Anchors, bleh :(
by oko1 (Deacon) on Feb 10, 2008 at 14:37 UTC |