The $title was a common joke that our administrators used to have about different SW "features" and "improvements" hidden inside.
One of "those" got me yesterday. It was actually Wednesday
installdirs( 'perl'); # This overwrites a core module!
INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'),
installdirs => ($] >= 5.009004 ? 'core' : 'site'),
(it's copy&paste from Makefile.PL/Build.PL)
What is the catch? The issue is with Perl-s packaged from your $favourite Linux distribution and installing modules via `cpan -i`. Those above lines force module installation to put files directly where the distribution puts files. In my case it's "/usr/share/perl/5.10/". This works fine until "Sunday" comes and there is a security bug fix for Perl. (everyone is fixing security bugs on his systems, isn't he?) Suddenly some (the manually upgraded ones) of the core modules are overwritten by old packaged versions. If any other manually installed Perl module or a local script has a dependency on higher version than there is in the packaged Perl, it will break. Ouuuuups.
Which ones are the core ones? Module::CoreList is our friend and on my system `perl -MModule::CoreList -le 'print join "\n", Module::CoreList->find_modules(qr/./);' | wc -l` say 616.
@YAPC::EU::2008 there was a talk called Perl in RPM-Land made by Dave Cross (davorg). At the end there was a discussion about installing via `cpan -i` or packaging modules. The result was a general agreement
<quote>There's no point in acting all surprised about it. All the planning charts and demolition orders have been on display in your local planning department on Alpha Centauri for fifty of your Earth years, so you've had plenty of time to lodge any formal complaint and it's far too late to start making a fuss about it now.</quote>