in reply to why isn't cpan like npm?

For #1, there is Shoichi Kaji's cpm. It is not just mimics npm behavior (e.g. installs modules in a local/ directory relative to where you invoked it, instead of system-wide, unless you pass a -g flag,) but it is also a testbed for a new generation of CPAN clients based on Tatsuhiko Miyagawa's Menlo (aka cpanm 2.0) to support parallel fast installs.