Locking isn't just for writes. If you read the links,
you'll find mention of creating multiple copies for
readers. Also, the BerkelyDB module is mentioned, which
supports the single writer/multiple reader scenario
you are describing (without making copies).
Tie::DB_Lock
A DB_File wrapper which creates copies of the database file for read access, so that you have a kind of a multiversioning concurrent read system. However,
updates are still serial. Use for databases where reads may be lengthy and consistency problems may occur.
Now I have to figure out how to use this. I'm still pretty much a rookie at this. Sigh. It never ends.
HDrider
Only riders understand why dogs love to stick
their heads out of car windows.