I find that if my app grows I invariably end up doing the following. (Ususally I need my stuff to run in Win32 and Solaris)
- Kick off the perl script with a bat script with the same name as a shell script and available via normal system paths. ( That way both have the same command line)
- Use the bat/shell script to set local library locations and cd to the root of the application/scripts
- (After my command line parsing) a begin block to get my libraries to load the way I want/need them to
- Pull in a config file that utilizes relative directories to load into the environment (%ENV).
While this isn't optimal, it is reliable and reuaable, and has become so much a pattern I just start with this style from a template (which includss generic POD and of course strict & -w )
Unfortunately the company has laid ownership to the template, but it is easy enough to roll your own