Module::PortablePath
====================

Module::PortablePath modifies @INC according to a configuration file (by default /etc/perlconfig.ini)

The configuration file format is:
[libs]
something = /path/to/something/modules
web       = /path/to/web/modules
core      = /path/to/general/modules
;etc..

The purpose of this module is to provide path independence if you have code which pulls in modules that don't live in your core perl installation and that runs on multiple machines from different paths.

For example -
machine1:/usr/local/bin/perl5.6.1
myapp modules are installed in /data1/mywebserver/applications/myapp/lib

machine2:/usr/local/bin/perl5.8.6
myapp modules are installed in /home/www/webapps/libraries/myapp

You should be able to run the same myapp code unmodified on both machines without creating any symlinks if the code contains:
use Module::PortablePath qw(myapp);

Then the machine1 /etc/perlconfig.ini file has
[libs]
myapp = /data1/mywebserver/applications/myapp/lib

and machine2 has:
[libs]
myapp = /home/www/webapps/libraries/myapp

I have found this very useful in maintaining the same codebase on development and live websites migrating across different platforms with different perl versions.

INSTALLATION

To install this module type the following:

   make
   make test
   make install