I had considered earlier mentioning that if there's a list of words that may need to have additions once in awhile, DBD::SQLite isn't a bad alternative.
But then I couldn't put my finger on what problem we're solving for here. Optimizing disk usage? Optimizing read speed? I understand he's constructing a big regex out of the words, but is that even the best approach at solving whatever the problem is that's being solved? Maybe a SELECT would be useful? It's just a little hard to recommend an approach without understanding the objective.