CPANfile is a simple way to declare your project's dependencies in a build system independent manner.
- In recent versions of cpanminus, it makes your entire project installable from a git repository, and,
- it also allows you to "pin" your dependencies on a specific CPAN release in a very sophisticated way, rather than "this version or newer" which is the typical Perl dependency resolution.
Why would you want to install a project from git instead of the normal CPAN download/build/test/install process? There are a lot of use cases, but the one I c…