in reply to Major differences in Perl 5 versions
As you browse over the perl delta documents that ikegami posted you will see occasional mention (v5.8.0 for example) of Binary Incompatibility. From the v5.8.0 delta POD:
Perl 5.8 is not binary compatible with earlier releases of Perl.
You have to recompile your XS modules.
(Pure Perl modules should continue to work.)
There is a nice blog post by our fellow monk, chromatic: Perl 5 Version Numbers and Binary Compatibility. It provides more detail, and discusses that it is a goal of P5P to maintain binary compatibility between release families. So 5.8.0 should be binary compatible with 5.8.9, but there is no guarantee either way (aside from what may be documented in the perl delta docs) between 5.8.9 and 5.10.0. When in doubt, consult the POD. And when still in doubt, run the distribution tests of whatever modules you are concerned about (those using XS, for example).
When you install a new version of Perl through any of the standard means, the core modules are automatically updated, so you won't have to consider them. But you may need to reinstall the non-core modules that use XS.
If you have concerns you may want to use perlbrew to create a separate installation of the target upgrade version of Perl, and then test your code against it before committing yourself 100%. For that matter, there's really very little reason to ever deal with the system Perl. May as well just install a new perlbrew Perl, and once your test suites have all passed, select that one as the live Perl installation.
Dave
|
|---|