I like to keep it simple. Personally, for me I usually store all of my SQL in a seperate module for easy swapping.
If I had a 1000 queries, I would probably use a tied BerkeleyDB hash instead to cut down on load time, etc.
If I had to figure out what was doing what, I would probably write an SQL parser, (probably building off of
SQL::Statement or similar) running it on all the queries in the module and verifying the unparsable ones by hand.
-Lee
"To be civilized is to deny one's nature."