Every language has one, but it doesn't come close to the breadth of CPAN. Much of it has to do with the culture set for maintainership. You have to achieve a certain kind of test coverage to get included, and if you are absent as a maintainer you package goes up for adoption.