my %subs = ( tag1 => 'subst1', tag2 => 'subst2', ... ); my $pattern = join('|', keys %subs); $str =~ s/($pattern)/$subs{$1}/g;