in reply to Matching a long list of phrases
Maybe Regexp::Assemble or Regexp::Trie is what you're looking for?