http://www.perlmonks.org?node_id=11100005


in reply to Installation of perl module in some local directory and using it

Typically, you install a Perl module from source using something like this:

tar zxf Digest-SHA1-2.13.tar.gz cd Digest-SHA1-2.13 perl Makefile.PL make make test make install
In your case, you would modify the make install line with an installation path -- you could put it under /root, but under /opt might be more appropriate. No, I don't know what environment variable is appropriate -- you might have to update the Makefile to accomplish this. It's open source -- help yourself.

Then, in order to use this module, installed in a non-standard location, you would just add a use lib line in your code:

.. use lib '/path/to/your/installation'; use Digest::SHA1;
and call the module's methods. You probably don't want to mess around setting PERLLIB, as show in your example.

Above all, it helps to understand the steps that you're taking when installing a module -- this isn't black magic, it's actually quite simple.

  1. You're unpacking the tarball archive into the default location;
  2. You're going into that location, and running the a script that will build a Makefile for your specific installation;
  3. You're running the Makefile in order to create all of the pieces required for testing and installation;
  4. You're running the tests, to make sure that the module code works correctly on your specific installation; and finally,
  5. You're installing the module for use in applications.

Alex / talexb / Toronto

Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.