Walt Mankowski on Tue, 30 Sep 2003 09:20:56 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Perl 5.8.1 and @INC


On Tue, Sep 30, 2003 at 08:00:04AM -0400, Mark Dominus wrote:
> It appears from casual testing that when you configure 5.8.1, it looks
> in your old site_perl library directory for older subdirectories, and
> arranges for all of them to be listed in @INC, in reverse
> chronological order.  I installed 5.8.1 yesterday, and its @INC is:
> 
>     /usr/local/lib/perl5/5.8.1/i586-linux
>     /usr/local/lib/perl5/5.8.1
>     /usr/local/lib/perl5/site_perl/5.8.1/i586-linux
>     /usr/local/lib/perl5/site_perl/5.8.1
>     /usr/local/lib/perl5/site_perl/5.8.0/i586-linux
>     /usr/local/lib/perl5/site_perl/5.8.0
>     /usr/local/lib/perl5/site_perl/5.7.3
>     /usr/local/lib/perl5/site_perl/5.7.2
>     /usr/local/lib/perl5/site_perl/5.6.1
>     /usr/local/lib/perl5/site_perl/5.6.0
>     /usr/local/lib/perl5/site_perl
>     .
> 
> So you won't have to reinstall all your modules.

Thanks.  I noticed the same thing when I built 5.8.1 last night with a
plain vanilla "Configure -des" build.

Here's what INSTALL has to say about it:

  Beginning with 5.6.0 the version number in the site libraries are
  fully versioned.  Now, suppose you install version 5.6.0.  The directories
  searched by version 5.6.0 will be

        /usr/local/lib/perl5/5.6.0/$archname
        /usr/local/lib/perl5/5.6.0
        /usr/local/lib/perl5/site_perl/5.6.0/$archname
        /usr/local/lib/perl5/site_perl/5.6.0

        /usr/local/lib/perl5/site_perl/5.005/$archname
        /usr/local/lib/perl5/site_perl/5.005
        /usr/local/lib/perl5/site_perl/

  Notice the last three entries -- Perl understands the default structure
  of the $sitelib directories and will look back in older, compatible
  directories.  This way, modules installed under 5.005_03 will continue
  to be usable by 5.005_03 but will also accessible to 5.6.0.  Further,
  suppose that you upgrade a module to one which requires features
  present only in 5.6.0.  That new module will get installed into
  /usr/local/lib/perl5/site_perl/5.6.0 and will be available to 5.6.0,
  but will not interfere with the 5.005_03 version.

Walt

Attachment: pgpX9QM27jLCN.pgp
Description: PGP signature