in reply to install perl module into other directory.

perl Makefile.PL LIB=/path/to/mylib

See perldoc ExtUtils::MakeMaker section on "PREFIX and LIB attribute"

Replies are listed 'Best First'.
Re: Re: install perl module into other directory.
by perlisfun (Sexton) on Aug 14, 2003 at 16:15 UTC
    Sorry for the confusion, actually i am interested in how to create installation package on one machine, then install into certain directory of multiple servers without running 'perl Makefile.pl; make; make install' PerlIsFun
      Ah, it is becoming clearer what you want. So you are interested in doing an install on a development box, and replicating the install onto other machines. In the Unix world, tar is your friend. It can reproduce whole directory trees in one go. The same principle applies in a windows environment, as the likes of winzip can handle tar archives. Try the following:
      cd mkdir newlib cd (package build directory) perl Makefile.PL LIB=~/newlib make make test make install cd ~/newlib tar cvf ../myDistro.tar * cd .. gzip myDistro.tar
      Now on the target machine, use gunzip and tar xvf to put the files in place.

      This will work if the machine architectures are the same, or if the package is pure perl.

        Thank you very much. This idea is not only pratical and each solution. PerlIsFun
      Write a shell script that will copy the files created by the installation process to the right places.

      Caveat - make sure that the target systems are of the same OS, OS version, have the same Perl version, and everything was built by the same compiler (both name and version). Otherwise, you might have compatibilty issues. (Yes, compiler can make a very big difference.)

      ------
      We are the carpenters and bricklayers of the Information Age.

      The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

      Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.