Imagine…
- You have a production system, with many different kinds of application services running on many servers, all using the perl 5.8.8 supplied by the system.
- You want to upgrade to use perl 5.14.1
- You don’t want to change the system perl.
- You’re using CPAN modules that are slightly out of date but you can’t upgrade them because newer versions have dependencies that require perl 5.10.
- The perl application codebase is large and has poor test coverage.
- You want developers to be able to easily test their code with different versions of perl.
- You don’t want a risky all-at-once “big bang” upgrade. Individual production installations should be able to use different perl versions, even if only for a few days, and to switch back and forth easily.
- You want to simplify future perl upgrades.
I imagine there are lots of people in similar situations.
In this post I want to explore how I’m tackling a similar problem, both for my own benefit and in the hope it’ll be useful to others. Continue reading