Hi
I hope you find this relevant. This is the strategy i use for my perl project deployments
- On an individual machine instance, you can always use perlbrew to manage multiple installations of perl. The neat feature of perlbrew i like is when you switch between perl's it takes care of updating the @INC path to point to the library paths corresponding to the perl version you have switched to.
-
Again to install modules, of course there's the cpanm utility which takes care of installing to the correct library paths.Additionally while installing any module on a system, one can always check the dependencies prior using cpamn --showdeps Module_Name
-
I always use perldoc -l Module_Name (eg: CGI, CGI::Application) to check if the said module is installed under the correct version of perl in my system.I'm sure there are better ways to do this though, depending on the need of the moment.
- Now coming to different machines, assuming you are talking of web development projects, one strategy is to use a framework that works with even earlier versions of Perl(like Mojolicious which works all the way down to 5.10, which i am using, there would be many more), that way even though you're on 5.10, you still have to install those additional modules, but at least your main code base is not going to change.
- I have also recently been introduced to stratopan for managing large private(in my case) installations of perl code,better library management, and simplifying the deployment process, but that's something i'm not experienced in, just pointing you towards it.
The Great Programmer is one who inspires others to code, not just one who writes great code