HP-UX 11i Version 2 June 2007 Release Notes
Libraries and Programming
Perl
Chapter 10
201
• Some of the bug fixes done in this release are
—no warnings category works correctly with -w
— Remove over-optimization
— sprintf() fixes
— Debugger and Unicode slowdown
• Provides large hostname/uname support.
• The perl interpreter is built to allow the use of a site customization script.
• Config.pm is now about 3K rather than 32K, with the infrequently used code and
%Config values loaded on demand.
• There has been a fair amount of refactoring of the “C” source code, partly to make it
tidier and more maintainable.
• ${^UTF8LOCALE} has been added to give perl space access to PL_utf8locale.
• The size of the arenas used to allocate SV heads and most SV bodies can now be
changed at compile time.
• From now on all applications embedding perl will behave as if perl were compiled
with -DPERL_USE_SAFE_PUTENV.
• Most “C” source files now have comments at the top explaining their purpose, which
should help anyone wishing to get an overview of the implementation.
• The debugger can now emulate stepping backwards, by restarting and rerunning all
bar the last command from a saved command history. It (lib/perl5db.pl) can now
save all debugger commands for sourcing later, and can display the parent
inheritance tree of a given class.
Impact
There are no impacts other than those previously listed.
Compatibility
Perl 5.8 is not binary compatible with earlier releases of Perl. for XS modules. These
modules have to recompiled. (Pure Perl modules should continue to work.)
The major reason for the discontinuity is the new IO architecture called PerlIO. PerlIO is
the default configuration because without it many new features of Perl 5.8 cannot be
used. In other words: you just have to recompile your modules containing XS code.
The new safe signals implementation postpones handling of signals until it’s safe (in
between the execution of low level opcodes). This change may have surprising side effects
because signals no longer interrupt Perl instantly.
Performance
• Weak reference creation is now O(1) rather than O(n). Weak reference deletion
remains O(n), but if deletion only happens at program exit, it may be skipped
completely.