CPAN is both bad and good. For example, how many XML parsing modules are there? Do you know which ones are best? Fastest?
Now that is a strange argument. Would you be happier if your choice was limited to only one mediocre module rather than 10 modules ranging from bad to excellent?
I have over twenty screwdrivers in my toolchest. None of them will be good for all jobs. Some are versatile, some are specialized; Some I may have used only once (but I was oh so happy I had the right tool at my disposal then), some are used almost daily. Will I throw them away when someone invents a screwdriver that can work more-or-less-somewhat-OK in all circumstances? Of course not! The more choice there is, the better. Yes, it will take a while to get used to your tools and you have to build up experience to know when to use which tool, but after a while your hand grabs the right one without thinking.
A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James
My blog: Imperial Deltronics