=head2 64-bit platforms and malloc
If your pointers are 64 bits wide, the Perl malloc is no more being
-used because it simply does not work with 8-byte pointers. Also,
+used because it does not work well with 8-byte pointers. Also,
usually the system mallocs on such platforms are much better optimized
-for such large memory models than the Perl malloc. Such platforms
-include 64-bit Alpha, MIPS, HPPA, PPC, and Sparc.
+for such large memory models than the Perl malloc. Some memory-hungry
+Perl applications like the PDL don't work well with Perl's malloc.
+Finally, other applications than Perl (like modperl) tend to prefer
+the system malloc. Such platforms include Alpha and 64-bit HPPA,
+MIPS, PPC, and Sparc.
=head2 AIX Dynaloading
Markov chain input and the few found crashes and lockups have been
fixed.
-=head2 Deprecations
-
-The current user-visible implementation of pseudo-hashes (the weird
-use of the first array element) is deprecated starting from Perl 5.8.0
-and will be removed in Perl 5.10.0, and the feature will be
-implemented differently. Not only is the current interface rather
-ugly, but the current implementation slows down normal array and hash
-use quite noticeably. The C<fields> pragma interface will remain
-available.
-
-The syntaxes C<< @a->[...] >> and C<< %h->{...}>> have now been deprecated.
+=head2 REF(...) Instead Of SCALAR(...)
-After years of trying the suidperl is considered to be too complex to
-ever be considered truly secure. The suidperl functionality is likely
-to be removed in a future release.
+A reference to a reference now stringify as "REF(0x81485ec)" instead
+of "SCALAR(0x81485ec)" in order to be more consistent with the return
+value of ref().
-The C<package;> syntax (C<package> without an argument has been
-deprecated. Its semantics were never that clear and its
-implementation even less so. If you have used that feature to
-disallow all but fully qualified variables, C<use strict;> instead.
+=head2 Deprecations
=over 4
=item *
-A reference to a reference now stringify as "REF(0x81485ec)" instead
-of "SCALAR(0x81485ec)" in order to be more consistent with the return
-value of ref().
+The obsolete chat2 library that should never have been allowed
+to escape the laboratory has been decommissioned.
=item *
=item *
-The obsolete chat2 library that should never have been allowed
-to escape the laboratory has been decommissioned.
+The (bogus) escape sequences \8 and \9 now give an optional warning
+("Unrecognized escape passed through"). There is no need to \-escape
+any C<\w> character.
=item *
-The unimplemented POSIX regex features [[.cc.]] and [[=c=]] are still
-recognised but now cause fatal errors. The previous behaviour of
-ignoring them by default and warning if requested was unacceptable
-since it, in a way, falsely promised that the features could be used.
+The list of filenames from glob() (or <...>) is now by default sorted
+alphabetically to be csh-compliant. (bsd_glob() does still sort platform
+natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.)
=item *
-The (bogus) escape sequences \8 and \9 now give an optional warning
-("Unrecognized escape passed through"). There is no need to \-escape
-any C<\w> character.
+Although "you shouldn't do that", it was possible to write code that
+depends on Perl's hashed key order (Data::Dumper does this). The new
+algorithm "One-at-a-Time" produces a different hashed key order.
+More details are in L</"Performance Enhancements">.
=item *
=item *
-The long deprecated uppercase aliases for the string comparison
-operators (EQ, NE, LT, LE, GE, GT) have now been removed.
+The C<package;> syntax (C<package> without an argument has been
+deprecated. Its semantics were never that clear and its
+implementation even less so. If you have used that feature to
+disallow all but fully qualified variables, C<use strict;> instead.
=item *
-The regular expression captured submatches ($1, $2, ...) are now
-more consistently unset if the match fails, instead of leaving false
-data lying around in them.
+The unimplemented POSIX regex features [[.cc.]] and [[=c=]] are still
+recognised but now cause fatal errors. The previous behaviour of
+ignoring them by default and warning if requested was unacceptable
+since it, in a way, falsely promised that the features could be used.
=item *
-The tr///C and tr///U features have been removed and will not return;
-the interface was a mistake. Sorry about that. For similar
-functionality, see pack('U0', ...) and pack('C0', ...).
+The current user-visible implementation of pseudo-hashes (the weird
+use of the first array element) is deprecated starting from Perl 5.8.0
+and will be removed in Perl 5.10.0, and the feature will be
+implemented differently. Not only is the current interface rather
+ugly, but the current implementation slows down normal array and hash
+use quite noticeably. The C<fields> pragma interface will remain
+available.
=item *
-Although "you shouldn't do that", it was possible to write code that
-depends on Perl's hashed key order (Data::Dumper does this). The new
-algorithm "One-at-a-Time" produces a different hashed key order.
-More details are in L</"Performance Enhancements">.
+The syntaxes C<< @a->[...] >> and C<< %h->{...}>> have now been deprecated.
=item *
-The list of filenames from glob() (or <...>) is now by default sorted
-alphabetically to be csh-compliant. (bsd_glob() does still sort platform
-natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.)
+After years of trying the suidperl is considered to be too complex to
+ever be considered truly secure. The suidperl functionality is likely
+to be removed in a future release.
+
+=item *
+
+The long deprecated uppercase aliases for the string comparison
+operators (EQ, NE, LT, LE, GE, GT) have now been removed.
+
+=item *
+
+The tr///C and tr///U features have been removed and will not return;
+the interface was a mistake. Sorry about that. For similar
+functionality, see pack('U0', ...) and pack('C0', ...).
=back
=item *
-C<threads> is an interface interpreter threads, by Arthur Bergman.
+C<threads> is an interface to interpreter threads, by Arthur Bergman.
Interpreter threads (ithreads) is the new thread model introduced in
-Perl 5.6 but then available only as an internal interface for
-extension writers. See L<threads>.
+Perl 5.6 but only available as an internal interface for extension
+writers (and for Win32 Perl for C<fork()> emulation). See L<threads>.
=item *
=item *
-POSIX::sigaction() is now much more flexible and robust.
+C<POSIX::sigaction()> is now much more flexible and robust.
You can now install coderef handlers, 'DEFAULT', and 'IGNORE'
handlers, installing new handlers was not atomic.
=item *
Changed the POSIX character class C<[[:space:]]> to include the (very
-rare) vertical tab character. Added a new POSIX-ish character class
-C<[[:blank:]]> which stands for horizontal whitespace (currently,
-the space and the tab).
+rarely used) vertical tab character. Added a new POSIX-ish character
+class C<[[:blank:]]> which stands for horizontal whitespace
+(currently, the space and the tab).
=item *
=item *
-L<Sys::Syslog> ignored the C<LOG_AUTH> constant.
+The regular expression captured submatches ($1, $2, ...) are now
+more consistently unset if the match fails, instead of leaving false
+data lying around in them.
+
+=item *
+
+C<Sys::Syslog> ignored the C<LOG_AUTH> constant.
=item *
=item *
-C<File::Spec->tmpdir()> now prefers C:/temp over /tmp
+C<File::Spec->tmpdir()> now prefers C:/temp over /tmp
(works better when perl is running as service).
=item *
=item *
-Using arrays or hashes as references (e.g. C<%foo->{bar}> has been
-deprecated for a while. Now you will get an optional warning.
+Using arrays or hashes as references (e.g. C<< %foo->{bar} >>
+has been deprecated for a while. Now you will get an optional warning.
=back
=item *
-Added rsignal(), whichsig(), do_join() to the publicised API.
+Added rsignal(), whichsig(), do_join(), op_clear, op_null,
+ptr_table_clear(), ptr_table_free(), sv_setref_uv(), and several UTF-8
+interfaces to the publicised API. For the full list of the available
+APIs see L<perlapi>.
=item *
=item *
-Added is_utf8_char(), is_utf8_string(), bytes_to_utf8(), and utf8_to_bytes().
-
-=item *
-
Now xsubs can have attributes just like subs.
=item *
-Some new APIs: ptr_table_clear(), ptr_table_free(), sv_setref_uv().
-For the full list of the available APIs see L<perlapi>.
-
-=item *
-
dTHR and djSP have been obsoleted; the former removed (because it's
a no-op) and the latter replaced with dSP.
=item *
-There are now several profiling make targets
-
-=item *
-
-The C<op_clear> and C<op_null> are now exported.
+There are now several profiling make targets.
=back