in reply to Challenge: CPAN Golf

First off, yes. :-) I feel your pain, particularly when I have to start installing something in Crypt::.

But, I think the problem is overstated and not just by you. Let's take Class::Accessor. I just updated to the latest (0.31) and here's what I find:

And, that code goes ahead and provides an extensible way of safely building classes. Personally, I'm ok with that, particularly if I use it across multiple projects. Frankly, writing an OO system used to be almost de rigeur for becoming a solid Perl developer. Pointing people at existing projects and having them do something else to cut their teeth on is a great thing.

Now, I think what you (and everyone else) are complaining about boils down to a lack of standards. There are so many different versions of the wheel that when you install a non-trivial amount of CPAN, you end up with 17 different OO systems. And, on its face, this is something that sucks. But, I think it's a necessary price to pay to have the necessary pot au feu that Perl provides. What other language has the same kind of joyous abandon leading to the amazing things one can find on CPAN? As I've said before, 90% of every Perl application is already written. You just have to find it. I'm willing to pay with a little bit of pain in dependencies.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?