in reply to Weirdness when reading from DBM file
Have a look at MLDBM for storing stuctures in a DBM file. Basically you have to freeze/thaw the structures to store them in the DBM file and MLDBM makes it easy.
rdfield
In Section
Seekers of Perl Wisdom