Anyway, i just wanted to add this because I dont think that you can
take it for granted that all perl5porters believe the core module set
should be as restricted as possible. I dont. I believe that the core
should contain out of the box enough support for the various platforms
that perl runs on that when people write code based only on core
modules they can do a good job without reinventing wheels or code
duplication.
The trouble is that Perl is run SO many places, doing so many things,
over so many platforms, across so many decades (now 2) :) that "do a
good job" is enormously difficult to define.
It varies so much, that you end up slurping in module after module until
the "core" is an enormous JDK-like mass of code.
So the core contains those modules that people at various points have
felt we absolutely can't live without or (unfortunately) the commit had
the relevant "pull" to add without reprisals.
And everyone always wants to add more, constantly.
I want to see File::HomeDir ultimately in there, because there's a
number of things that use $ENV{HOME} and implement their own special
case logic.
You want to add ExtUtils::Installer once it works, so
ExtUtils::MakeMaker can use it.
Module::Build wants to go in, but because they use YAML for the data
file, we add Ingy's YAML.pm, who then decides he wants to use Test::Base
for everything he does, so that slips in undernearth, and of course
Test::Base is based on Spiffy, so Spiffy needs to go in the core (which
isn't what actually happened, but could have)
It goes on and on and on, and eventually it's impossible to make the
core build and smoke cleanly on any platform, because not all of these
packages work everywhere all the time on all platforms.
The core is expected to work everywhere, just look at the number of
File::Spec subfiles now. The work involved to deal with full(ish)
platform support is enormous.
Which is why although I'd secretly like to put File::HomeDir in tomorrow
and deal with problems later, I'm not going to say a damned thing until
I'm sure it's completly bug free and working on as many platforms as
possible, before I even think of broaching the idea.
On the other hand, if you have a specific problem domain you want to
address, it's perfectly acceptable to build a distribution that contains
all the extra things you need for that problem domain, without the need
to impose the extra bloat on the core.
Adam K