This is probably more of a rant’n’rave than anything else but for the sake of a longer read I’m pretending it’s an open ended question sort of thingy… :)

In my short year or three of perl abuse, I, like many newbies, have tripped over the bewildering complexity that is the installable perl module.
While I feel a little more relaxed these days when I’m faced with that most confusing of acronyms, CPAN, I can’t help but get the feeling that I’m signing a pact with the little green devil of ‘programmer-centric laziness’.
Every time I consult that great CPAN oracle in the sky, the same few questions keep plaguing me:
- Does this module have any quirky dependencies?
- Will it play nicely with my Perl 5.??.??? system (with that funny patch over there and this little hack over here…)
- Are other support programs required? (compilers etc)

At this point many folk are likely to slap me up the back of the head and raise all the same issues currently thundering around the RPM/tar/deb communities. To them I say “But Wait!!”.

I’m (wildly) guestimating that 90% of users around 90% of the time could safely be categorised as the ‘I just want the darn installed’ type of Perl installers.
In this situation, your average installer couldn’t care less about the last 13 decimal places on the version label of obscure-unmentionable.pm. He/She/It just wants a few simple things:
- A Red Light/Green Light on whether its ‘100% Pure Perl’ code.
- How much will needed to be downloaded?
- And a big button labelled ‘Install’.

And Nothing else.

All the ‘spangly technical stuff’ doesn’t matter.
- Security? Ha! When was the last time you even came close to hand checking a pm for backdoors, trojans etc?
- Unauthorised distributions? Once again: When was the last time you bothered to go out and get all of those funky public keys and certificates for checking? And who exactly were you trusting when you did it?
- Configurability? Oh please… We’re talking about a funky dynamic interpreted language here. What in heavens name can’t be fiddled with * after * the installation?

If you’re the remaining 10% of 10% that want all of those spangly features then you more than welcome to play around with those ‘interesting’ command line parameters… but don’t force the rest of us to.
“Okay big mouth” you (rather rudely) reply.
“You’ve successfully spotted the same faults everybody on the planet has for the billionth time. Congratulations! What’s your solution?”
Well I’m not suggesting the dismemberment of CPAN or anything ugly like that you’ll be happy to hear.

Merely the adoption of a few new things:

A generic ‘vaguely intelligent’ installer – A program that can auto-install dependencies, give guestimates on bandwidth requirements for installation, spot possible system short falls (eg. Where’s lynx?) etc…

A generic package description file – An XML style file that indicates to installers like the aforementioned things like whether it’s 100% Pure Perl, internal and system dependencies etc.

A few more seals – A set of easily identifiable logos on services like CPAN to show clearly indicate in a ‘Dummies guide to..’ style the same things listed in the package description file.

I realise Perls history and usage tends to set it apart from other languages but that’s no reason not to pick up a few good ideas from them.

I think that about does it for this rant.. er.. discussion. I’m note sure whether my pultry few XP can stand up to too much editorial voting but hopefully it’ll spark some cheery chap out there to at least consider writing such a beast. :)

Thank you for your eyeball time.

Replies are listed 'Best First'.
Re: The Camel Seal
by myocom (Deacon) on Jan 03, 2001 at 10:51 UTC

    Luckily, someone's already done much of this... Check this out (or this, for that matter). And for the Win32-specific folk, there's always PPM.

Re: The Camel Seal
by salvadors (Pilgrim) on Jan 03, 2001 at 16:48 UTC
    Also check out Schwern's suggestions for CPANTS - to automate the process of testing and quality assurance of CPAN modules and to provide a centralized place for reviews and feedback.

    Tony

Re: The Camel Seal
by extremely (Priest) on Jan 03, 2001 at 11:45 UTC
    As Myocom already pointed out, grab CPAN (the module) and start adding features. If you have questions about adding features, get thee to a Monastery go... =)

    --
    $you = new YOU;
    honk() if $you->love(perl)