in reply to Thoughts on script portability

It's refreshing to read a topic like this, I tend to find this line of thought is automatic flame bait in some circles (which shall remain nameless).

I agree with you in that necessity dictates everything, even core modules started out as someone needing to do something bad enough. I would also like to add one further point to what you said blue_cowdawg - modules make you user not a programmer.

Yes, there are times when you have a deadline to meet and the modules are there, but if you have time why miss out on the opportunity to learn something new?

Of course the counter replies run thus:
maintenance - if something changes you'll have to update your custom module

testing - modules on CPAN have been tried and tested by loads of peeps

optimisation - CPAN modules have been optimised (inferred by people who know how to do that)

and of course "don't re-invent the wheel".

But what the hell, say I, if you have time and the inclination, try and build an SMTP server using the socket module - you might not finish it, but (I believe), like a pilgrimage, the journey is worth more than the destination.