@array = ( "foo bar", "bar foo" ); @array2 = ( "foo", "bar" ); $string = "there is a foo bar and a bar foo and also foo and bar."; print "string before - $string\n"; $swapString = join ("|", @array); print "swapString 1 - $swapString\n"; $string =~ s/($swapString)/$1<\/B>/gi; print "string after first - $string\n"; #### $swapString = join ("|", @array2); print "swapString 2 - [$swapString]\n"; $string =~ s/[^]($swapString)[^<\/B>]/$1<\/B>/gi; print "string after first - $string\n"; #### $string =~ s/[^]($swapString)[^<\/B>]/$1<\/B>/gi;