3.63. perl
Updated perl packages that fix several bugs are now available for Red Hat Enterprise Linux 5.
Perl is a high-level programming language that is commonly used for system administration utilities and web programming.
Bug Fixes
- BZ#991854
- When a Perl script was installing a custom signal handler and then received a signal while exiting, the code tried to access the interpreter structure which had already been torn down. As a consequence, Perl terminated with a segmentation fault. With this update, the code resets the signal handler to SIG_DFL before calling the perl_destruct() function, so it does not request thread-specific interpreter structure. Now, Perl scripts no longer crash in the described situation.
- BZ#1018721
- An incorrect implementation of the NDBM_File module caused using the exists() function on dbmopen()-bound variables to fail with the following warning:AnyDBM_File doesn't define an EXISTS methodThe database preference list has been modified to move the NDBM_File module to a less significant place. Now, Perl code which uses dbmopen() defaults to the Berkeley DB database type and no longer fails in the described situation.
- BZ#1029016
- The Perl Locale::Maketext localization framework did not properly translate the backslash (\) characters. As a consequence, Perl rendered the backslashes as double (\\). With this update, Perl no longer escapes the backslashes in literal output strings, and they appear correctly.
- BZ#1057047
- Previously, it was not possible to convert dates beyond year 2038 using the timegm() function on 64-bit systems. After this update, Perl detects 64-bit systems correctly and timegm() successfully converts calendar time into seconds since the Unix epoch. Note that using timegm() with dates beyond year 2038 is still not possible on a 32-bit system, because the time_t type is not large enough.
Users of perl are advised to upgrade to these updated packages, which fix these bugs.