A module that caches a data structure against a filename, statting the
file to determine whether it has changed and needs to be re-parsed.
You supply a routine to generate the data structure given the filename.
This module is recommended for files which change infrequently but
are read often, especially if they are expensive to parse.
This approach has the advantage over lazy caching that multiple
processes holding a cache will all update at the same time so you
will not get inconsistent results if you request data from different
The module itself is simply a factory for various backend modules.
The distribution includes backends for in-memory caching or file
caching using Storable, plus an adaptor to use any modules offering
the Cache or Cache::Cache interfaces as the cache implementation.
Data structures are automatically serialised/deserialised by the
backend modules if they are being persisted somewhere other than
in memory (e.g. on the filesystem).
Submitted by: Eric Freeman <freebsdports at chillibear.com>