in reply to Matching a long list of phrases

Maybe Regexp::Assemble or Regexp::Trie is what you're looking for?