views:

34

answers:

1

Hi folks,

I have a number of modules that I would like to store in my local app dir (perhaps something like ./lib) and check into source control. Ideally, this would include all of the module dependencies.

The end goal is to be able to deploy to a number of boxes (which only have a basic perl install) and ensure that the script has the required modules/versions. CPAN is out as an option during deployment and I want to avoid maintaining a separate internal repo if possible.

For the deployment, all of the boxes will be the same os/arch. Cross platform would be a nice to have as we have folks who develop on linux and osx.

Any ideas?

Thanks.

+1  A: 

Use local::lib. The documentation is highly readable.

Stuffing your local::lib directory into a VCS is probably a good idea. If you're using pure Perl modules (no compiled XS code), then it should be working on all platforms.

If you need to use XS modules that are not binary compatible between your differing architectures, then you might just get away with adding two versions of the compiled modules into the same local::lib installation, since those modules are found based on the archname compile time setting that is stored in the perl binary (perl -V).

szbalint