The way we build the new generation of applications and philosophy behind rapid development dictates that we reuse as much code as possible. This, of course, is great since we don't duplicate the work of our peers but it also adds a new level of complexity to the distribution of our applications. CPAN excels as a package management system but large numbers of dependancies and deep dependancy chain