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

Hi, I have some perl code which uses some additional perl modules. I have deployed the code along with perl folder to other machines so that it can be used on their machines. Now i have updated my perl code which required additional perl modules (XML::Feed). I have downloaded the additional modules manually on my machine using ppm. Now i have problem deploying the additional modules which are downloaded by ppm to other machines. Any idea how i can work it out?
  • Comment on How to deploy new Perl Modules to other machines?

Replies are listed 'Best First'.
Re: How to deploy new Perl Modules to other machines?
by jellisii2 (Hermit) on May 28, 2015 at 14:47 UTC
Re: How to deploy new Perl Modules to other machines?
by dasgar (Priest) on May 29, 2015 at 05:00 UTC

    My first thought is what jellisii2 suggested. On your development system, install PAR::Packer so that you can use its pp utility to bundle your script into a stand-along executable that you can then distribute to others.

    Another option is to use App::FatPacker, which you can use to "pack your dependencies onto your script file". I've never use this module, so I can't offer any further guidance about using it.

    The only other method that I can think of is to have a Perl installation on a network drive that everyone can access and install your new modules there. Then everyone who can access the network drive should be able to use that Perl installation (with a little work).

    To help better understand that last method, here's something that I've done at work that is an implementation of this method. I put a copy of portable Strawberry Perl on a file server. Now anyone on a Windows system that can access the file server can now use this Perl "installation" by running the portableshell.bat file. Now if I install a module into that portable Perl "installation", everyone else using it will also have access to that module.

      Thanks dasgar, I had the master perl copy on the share and create update-perl.bat to SYNC the local perl installation to master server using robocopy \\SourceServer\Share \\DestinationServer\Share /MIR /FFT /Z /XA:H /W:5
Re: How to deploy new Perl Modules to other machines?
by GotToBTru (Prior) on May 28, 2015 at 14:33 UTC

    What problem, specifically, do you have?

    Dum Spiro Spero
      I am using Carton to port the modules. Its simple and easy on the root directory of application, Create a file named 'cpanfile' and write the required modules requires 'HTTP::Strip'; requires ... and run >carton install All the modules and dependencies are saved to root/local/lib/perl5 In the code, add this path to @INC