in reply to Implementing a text filter on some dataset
My first inclination would be to reformat the data into something that could be read by DBD::AnyData (or just stuff it into a db), then convert your filter into SQL. The former looks pretty easy given your example. The latter is probably quite a bit trickier.
Without more information about how many filters (queries) you have, how complex and dynamic they are, how many times you're running them, etc, though, this may not be the best solution. I'm sure other monks will provide lots of other WTDI.