$main_template =~ s/%%keywords%%/$fields{'keywords'}/g; $main_template =~ s/%%searcresults%%/$pitem/g; $main_template =~ s/%%keywords%%/$fields{'keywords'}/g; $main_template =~ s/%%premiumlistings%%/$premiumitem/g; #### $_ = 'taxial'; s/taxi/cab/g; s/cabal/gang/g; print; #### $_ = 'taxial'; my %subst = ( 'taxi' => 'cab', 'cabal' => 'gang' ); local $" = "|"; my @keys = map quotemeta, sort { length $b <=> length $a } keys %subst; my $regexp = qr(@keys); s/($regexp)/$subst{$1}/g; print; #### $_ = 'taxial'; my %subst = ( 'taxi' => 'cab', 'cabal' => 'gang' ); use Regex::PreSuf; my $regexp = presuf(keys %subst); s/($regexp)/$subst{$1}/g; print; #### my %subst = ( %fields, searcresults => $pitem, premiumlistings => $premiumitem ); use Regex::PreSuf; my $regexp = presuf(keys %subst); $main_template =~ s/%%($regexp)%%/$subst{$1}/go;