in reply to search data structures using SQL

Do you really need SQL or would an OO interface similar to File::Find::Rule do what you need ?

You'd have to write it yourself, but it's not going to be that difficult, although testing it might be fun ;).

I've written similar code in the past using iterators and closures that allowed me to program arbitrary queries very quickly.

I think writing a full parser for SQL would be a lot more work, but that's going to depend what problem you're actually trying to solve.