in reply to Re^2: Why do Perl and CPAN use so many different install directories?
in thread Why do Perl and CPAN use so many different install directories?

I zorched my ~/.cpan directory tree, and re-installed the modules I use. Now I see only the generic perl5 stuff, and perl5/*/5.10.0/* stuff. I conjecture that CPAN will install a new package in either generic perl5 directories, or in perl5/*/$VERSION directories. e.g. perl5/*/5.10.0 However, if it finds an existing directory for an older version of perl (not the package), and the package is unchanged, it will leave the package in the old directory, e.g. perl5/*/5.8.5 I conjecture that it is usually safe to layer the many, many, directories, with the most recent version at the front of the path, and the oldest at the end. That way, if CPAN has installed a new version, it will be found before the old. However, you could get into trouble, in ways such as (a) your code uses an obsolete module - e.g. you get perl5/*/5.8.5/*/Old/Module rather than perl5/*/5.10.0/*/New/Module. And you find the old module still on your path. Or (b) you have something like perl5/site_perl/*/5.8.5/Module that you have made local changes to. If you install perl5/5.8.5/Module, the newer standard version may override your local changes. I conjecture that it might be better to have different CPAN trees for every version of the compiler you deal with. E.g. .cpan/5.10.0/, .cpan/5.8.5/, ... But I see nobody recommending this. So maybe I shouldn't bother.
  • Comment on Re^3: Why do Perl and CPAN use so many different install directories?