#!/usr/bin/perl use strict; use warnings; my $tag = '(?:<[^>]*>)'; while () { s/($tag*tacos)/yummy $1/g; s/($tag*salad)/green $1/g; print; } __DATA__ I like tacos. <5b>I <5c>like <5d>tacos. I like a salad. I like a salad. I like a salad with tacos. I like yummy tacos. <5b>I <5c>like yummy <5d>tacos. I like a green salad. I like a green salad. I like a green salad with yummy tacos.