One way to one step per regex:
c:\@Work\Perl>perl -wMstrict -le
"my $c = q{asdfghjk};
print qq{ original: '$c'};
;;
my @regex = (
{ lh => q{(gh)}, rh => q{__$1__}, },
{ lh => q{(h_)}, rh => q{_h!$1!}, },
);
;;
for my $hr_s (@regex) {
$c =~ s[ (?-x)$hr_s->{lh}]{ qq{qq{$hr_s->{rh}}} }xmsgee;
print qq{intermediate: '$c'};
}
;;
print qq{ final: '$c'};
"
original: 'asdfghjk'
intermediate: 'asdf__gh__jk'
intermediate: 'asdf__g_h!h_!_jk'
final: 'asdf__g_h!h_!_jk'
Since
s///e or
s///ee is string
eval,
AnonyMonk's warning/advice
here still holds. See
Re: Evaluating $1 construct in literal replacement expression and associated nodes for more discussion.
Give a man a fish: <%-{-{-{-<
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.