in reply to Separating Development and Release Modules

Primarily, consider cvs or svn or something similar to keep your versions of projects and libraries. Though it is not necessary, it is widely recommended.

I suppose you want to have two separated locations, one for libraries and one for project-specific files. In this situation, with respect of your need to have productional and development versions, I can see following directory structure:

~/projects/productional/perl-lib ~/projects/productional/project1 ~/projects/development/perl-lib ~/projects/development/project1
The other idea is how to use proper libraries? In your project scripts, you can do something as

#standard modules use FindBin (); #to add proper dir: FindBin::again(); use lib $FindBin::RealBin.'/../perl-lib'; #internal modules use MyLibraryModule;
It causes usage of development library in development scripts and productional library in productional scripts. The last issue is How to change devel version to productional one? If you will use some versioning system, it will support it easily. Without versioning system, it is up to your head and hands to copy files in the right way.