in reply to Upgrading Core Modules Using CPAN - Best Practice?

http://search.cpan.org/dist/ExtUtils-MakeMaker/
http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.46/Makefile.PL
INSTALLDIRS     => 'perl', make install

make alone puts all relevant files into directories that are named by the macros INST_LIB, INST_ARCHLIB, INST_SCRIPT, INST_MAN1DIR and INST_MAN3DIR. All these default to something below ./blib if you are not building below the perl source directory. If you are building below the perl source, INST_LIB and INST_ARCHLIB default to ../../lib, and INST_SCRIPT is not defined.

The install target of the generated Makefile copies the files found below each of the INST_* directories to their INSTALL* counterparts. Which counterparts are chosen depends on the setting of INSTALLDIRS according to the following table:

INSTALLDIRS set to perl site vendor PERLPREFIX SITEPREFIX VENDORPREFIX INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DI +R INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DI +R
INSTALLDIRS
  Determines which of the sets of installation directories to choose: perl, site or vendor. Defaults to site.

Replies are listed 'Best First'.
Re^2: Upgrading Core Modules Using CPAN - Best Practice?
by stocks29 (Acolyte) on Oct 03, 2008 at 14:59 UTC

    Won't putting INSTALLDIRS=>'perl' in CPAN::Config force all modules into the "core" path, even those that are not core modules?

      Whats your point?

        Well, since I am trying to avoid having two versions of core modules installed, I don't think having two versions of non-core modules installed is a good way around this.

        If I change this setting, all non-core modules that I upgrade will have new versions installed in the core path, while the old version will reside in the non-core path. Kinda defeats the purpose of what I am trying to do -- but thanks for the suggestion.