8.142. perl

Updated perl packages that fix several bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.
Perl is a high-level programming language that is commonly used for system administration utilities and web programming.

Note

The perl package has been upgraded to upstream version 2.021, which provides a number of bug fixes and enhancements over the previous version. Support for 64-bit ZIP archives has been improved. Especially, size of files bigger than 2^32 bytes is now reported properly. (BZ#810469)

Bug Fixes

BZ#767608
Previously, referring to a named capturing group with non-matching name caused a memory leak. With this update, the underlying source code has been modified to avoid memory leaks in this scenario.
BZ#819042
When the parse_file() function from the Pod::Man or Pod::Text modules was executed without specifying the function output, parse_file() terminated. With this update, parse_file() has been modified to use standard output by default. As a result, parse_file() no longer fails with undefined output.
BZ#825713
Prior to this update, the find2perl utility incorrectly translated global expressions that contained the question mark ("?") character. Consequently, Perl code matched different expressions than the 'find' command-line utility. With this update, the global expression translator has been modified and find2perl now matches the same glob expressions as the 'find' utility does.
BZ#839788
Exiting scope of an object whose destructor method has been declared but not yet defined caused the Perl interpreter to terminate unexpectedly. This bug has been fixed and the interpreter now handles the undefined destructor methods as expected.
BZ#905482
When the XML-LibXSLT library was built without the libgdm-devel package installed on the system, it was unable to link to other libraries. With this update, the glibc-devel, gdbm-devel, and db4-devel packages have been added to the perl-devel list of run-time dependencies. As a result, it is now possible to build native Perl libraries without complications.
BZ#920132
While executing Perl code with the "format" option in a prototyped subroutine, the Perl interpreter terminated unexpectedly with a segmentation fault. With this update, various back-ported fixes have been added to the perl package. As a result, it is now possible to use formats in prototyped subroutines without complications.
BZ#973022
Prior to this update, the XML::Simple::XMLin() parser did not process input from the Getopt::Long::GetOptions() handler. Consequently, XML::Simple::XMLin() reported an unsupported method. With this update, Getopt::Long::GetOptions() has been modified to produce a simple string output that other Perl modules can read without complications.
BZ#991852
After installing a custom signal handler, the perl script attempted to access the thread-specific interpreter structure. This structure has already been disabled and Perl terminated with a segmentation fault. This bug has been fixed and Perl scripts no longer ask for the interpreter structure. As a result, Perl no longer crashes in the aforementioned scenario.

Enhancement

BZ#985791
This update adds the CGI.pm module to the list of perl-core dependences. CGI.pm is now installed along with the perl-core package.
Users of perl are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.