If you can break the data down to its essentials, like a numerical value or some such, I'd highly recommend storing that in the database over a serialized object. Databases are specialized in storing and allowing you to select that data back. Storing a
Storable object, for example, as you indicate, prevents you from being able to search against it, or pull certain variables while ignoring others without selecting
everything and doing your searching in Perl. If that's OK to you, why use a database at all? Just dump the data into a binary file (or one large array and just use
Storable to store that) or a DBM file of some kind.
Plus, if you come along later and make changes to your object/data structures, you won't have to perform an expensive data migration, since the database would only have the essentials to begin with.