#! perl use strict; use warnings; my $c = q{asdfghjk}; my @regex = ( { lh => q{(gh)}, rh => q{__$1__}, }, { lh => q{(h_)}, rh => q{_h!$1!}, }, ); print q{Original: }, $c, "\n"; for my $i (0 .. $#regex) { if ($c =~ /$regex[$i]{lh}/) { my $s = $1; my $d = $regex[$i]{rh}; $d =~ s/\$1/$s/; $c =~ s/$regex[$i]{lh}/$d/; } } print q{Final: }, $c, "\n"; #### 17:37 >perl 1352_SoPW.pl Original: asdfghjk Final: asdf__g_h!h_!_jk 17:39 >