Per Perl's compatibility and support policy, minor releases of Perl 5 such as Perl 5.16.0 and 5.16.3 share the same level of binary compatibility, while major releases of Perl such as Perl 5.14, 5.16, and Perl 5.18 do not share binary compatibility. That is to say, modules built and installed for one major version of Perl are not necessarily compatible with modules built and installed for another major version.
Because of the new Perl 5 yearly release schedule, you may find yourself wanting to upgrade your Perl far more frequently than in years past. The perlbrew utility helps you manage your own installations, which allows you both to leave the system Perl as it us and to install your own version or versions of Perl for your own purposes.
Because your OS vendor is not in control of these Perls, you can upgrade them or neglect them at your leisure.
When new minor releases come out (as they've done recently), you get to
decide when and how to update your managed Perl installations. If you're like
me, you have hundreds or thousands of CPAN distributions installed, and the
thought of spending a couple of hours reinstalling those seems less than fun.
Fortunately, Perlbrew includes a command called
will download, configure, compile, and install the latest minor version of the
current major version family you're using as a replacement. Your modules stay
installed and working.
Perlbrew will even figure out if there's a newer minor release available for you.
(As with all updates, there's a small risk of code changes affecting behaviors you care about, but that's why your code has a comprehensive test suite, right?)
From a managed Perl, run the command:
$ perlbrew upgrade-perl
In a few minutes, you'll have a new binary running in your existing environment. Isn't that easy? Thanks, perlbrew!