CPAN::Cache is a Perl module abstract locally-cached logical subset of a CPAN mirror.
There have been any number of scripts and modules written that contain as part of their functionality some form of locally stored partial mirror of the CPAN dataset.
CPAN::Cache does the same thing, except that in addition it has the feature that the downloading and storage of CPAN data is all that it does, so it should not introduce any additional dependencies or bloat, and should be much easier to reuse that existing modules, which generally are more task-specific.
The intent is that this module will be usable by everything that is in the business of pulling modules from CPAN, storing them locally, and doing something with them.
In this way, it really does little other than mirror data from a remote URI, except that CPAN::Cache also provides some additional intelligence about which files are and are not static (will never change) which aren't, and is typed specifically as a mirror of CPAN, instead of any other sort of mirror.
By building this module as a seperate distribution, it is hoped we can improve seperation of concerns in the CPAN-related modules and ensure cleaner, smaller, and more robust tools that interact with the CPAN in the most correct ways.