Moin Moin!
Noch ein kleiner Nachschlag: Storable ist kein zeitlich stabiles Format, d.h. eine neue Storable-Version kann ein neues Format haben, das zum alten Format inkompatibel ist. Das ist in der Vergangenheit mehrfach passiert. Siehe FORWARD COMPATIBILITY und Changelog.
Dein Beispiel hat konstant große Arrays, die jeweils einfache Strings enthalten. Das läßt sich auch mit SQLite gut abbilden, einfach als eine Tabelle, die den Hash-Key als Primary Key nutzt und jedes Array-Element als eine weitere Spalte in der Tabelle abbildet.
Ganz nebenbei spart Dir SQLite (DBD::SQLite) das Theater mit Locking und File-Handling komplett, und du mußt nicht immer alle Daten in den Speicher ziehen, sondern nur die, die Du wirklich brauchst.
Natürlich ist der Overhead einer kompletten SQL-Engine größer als der, "einfach nur" ein paar Perl-interne Strukturen in eine Datei zu werfen und wieder heraus zu pulen. Dafür ist das Datenformat von SQLite aber beständiger, ändert sich AFAIK nur mit Major Relases (1.x => 2.x, 2.x => 3.x).
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".