Saved has asked for the wisdom of the Perl Monks concerning the following question:

I am looking to use modules, but do not have root access. I have seen various methods for Makefile.PL:
perl Makefile.PL PREFIX=/path/to/where/you/want/it perl Makefile.PL LIB=/put/module/here perl Makefile.PL INSTALL_BASE=/home/uid
How do these differ? Are they all still in use? Is there others? Why use one or the other? All help Appreciated, Thanx...

Replies are listed 'Best First'.
Re: Makefile.PL ??=/put/module/here
by Corion (Patriarch) on Jan 05, 2011 at 12:29 UTC
Re: Makefile.PL ??=/put/module/here
by Anonymous Monk on Jan 05, 2011 at 12:29 UTC
Re: Makefile.PL ??=/put/module/here
by locked_user sundialsvc4 (Abbot) on Jan 05, 2011 at 13:30 UTC

    There are numerous articles that come up, say, on a Google search of “Perl non root,” and these would be the best place to start.

    I freely admit that it is “somewhat voodoo.”   Techniques have evolved over time so you should look only at fairly-recent articles.   This is, shall we say, “a place where ‘TMTOWTDI’ is not necessarily such a wonderful thing.”   But once you get the magickal spells just right, it works very well indeed.

    Anytime I install a Perl-based web site, for instance, and for public or internal-only use, I always set up the virtual-host so that the CPAN modules that I need to use are fetched only from a site-specific local library of my choosing.   Web hosting companies apply software updates too, and any unrecognized dependencies can break a site.   This practice greatly reduces such concerns.

      I am trying to install Sort::Key::Multi . It seems to be found. However, it calls Sort::Key which then says Can't locate loadable object for module Sort::Key in @INC I have been trying Makfile.PL PREFIX=/MyDir and in the perl script usr lib "/MyDir" Also tried perl -I /MyDir I must be missing something here. Just forgot them, I did usr /MyDir
        /MyDir is absolute (on nix), but MyDir is relative path, they are not the same