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.