in reply to Quotes page help

If I understand correctly, you have several records. Each record has two searchable criteria, the speaker name and a category. Furthermore, each category can contain multiple topics. You want to store this in a Perl data structure that will allow you to search on multiple criteria?

You could store these as anonymous hashes in an array, and loop over them all to search. The category itself would have to contain an anonymous hash.

You could store them all in a tied hash, keyed on some sort of unique identifier. You'd have to build up an index for each criterion, associating the unique identifier with all records in whatever type. MLDBM would be very helpful in this instance.

In other words, it sounds like you're reinventing a relational database. Hie thee to MySQL or Postgres.