cPanel® Blog

Bro Code #514 – A Bro Always Updates His Custom Perl Modules

If you use custom code on your cPanel & WHM servers, please read this message! Without further action on your part, your custom code may break in cPanel & WHM version 11.46.


In version 11.46, cPanel & WHM will ship with binaries that we have compiled against Perl version 5.14.4. Previously, code that was compiled against cPanel binaries used Perl 5.6. Because of this, the upgrade to Perl 5.14.4 will have a direct effect on any custom Perl code that you execute from cPanel binaries. It is extremely important that you test your plugins and hook code against Perl 5.14.4 to be certain that it continues to work correctly.

You can find an instance of Perl 5.14 on your cPanel & WHM servers in the following location:
/usr/local/cpanel/3rdparty/bin/perl

For more information about Perl on cPanel & WHM servers, read our Perl Environments and Modules documentation.

Custom modules

Custom modules that you previously compiled with the buildperl system will not function properly in cPanel & WHM version 11.46 because the module was built against an older version of Perl. However, before you recompile all of your modules, you should check whether cPanel & WHM will already include your modules in version 11.46. We have added many modules to the list of modules that cPanel ships, and expect that cPanel & WHM will now ship with the majority of the modules that developers built with this tool.

To test whether the module that you need already ships with cPanel & WHM, run the following command:
/usr/local/cpanel/3rdparty/bin/perl -MMy::Module -E'say $My::Module::VERSION'

For example, LWP is a common module that was compiled against buildperl. cPanel & WHM already ships with LWP version 6.05 with Perl 5.14, as shown by the following command and its output:
/usr/local/cpanel/3rdparty/bin/perl -MLWP -E'say $LWP::VERSION'
6.05

Tell us! Tell us! Tell us!

If you discover that cPanel & WHM does not ship with a common CPAN module that you need, let us know. While it is possible to install custom modules to the /opt/cpanel/perl5/514/site_lib library with the /usr/local/cpanel/3rdparty/perl/514/bin/cpan command, doing so will cause you further problems down the road, when cPanel switches to an even newer version of Perl. We would much rather ship your custom modules for you, and manage their updates, than force our customers to recompile modules themselves! Please tell us which CPAN modules that you would like us to ship by either leaving us a comment here or sending an email to integration@cpanel.net.

We expect to have a production release of cPanel & WHM version 11.46 ready in October 2014. If you would like to get access to an early release of this change, we expect to ship one in September 2014. To receive announcements about this early release, subscribe to our EDGE users mailing list.