From: Jarkko Hietaniemi Date: Tue, 27 Nov 2001 02:39:35 +0000 (+0000) Subject: Pass 7 at perldelta - random edits. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c2e23569e99e3f2337ede3f3cd0b0fb94cd04464;p=p5sagit%2Fp5-mst-13.2.git Pass 7 at perldelta - random edits. p4raw-id: //depot/perl@13305 --- diff --git a/pod/perldelta.pod b/pod/perldelta.pod index fa4ea19..aeeceac 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -12,10 +12,13 @@ This document describes differences between the 5.6.0 release and the =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 @@ -66,26 +69,13 @@ The Perl parser has been stress tested using both random input and 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 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 syntax (C 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 instead. +=head2 Deprecations =over 4 @@ -96,9 +86,8 @@ it to make some sense, it is forbidden. =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 * @@ -109,21 +98,22 @@ maintained. =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. =item * @@ -132,33 +122,48 @@ In future releases this may become a fatal error. =item * -The long deprecated uppercase aliases for the string comparison -operators (EQ, NE, LT, LE, GE, GT) have now been removed. +The C syntax (C 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 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 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. +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 @@ -702,10 +707,10 @@ parsing algorithms. See L. =item * -C is an interface interpreter threads, by Arthur Bergman. +C 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. +Perl 5.6 but only available as an internal interface for extension +writers (and for Win32 Perl for C emulation). See L. =item * @@ -877,7 +882,7 @@ CPAN and in 5.7.2 the Net::Ping::External may be integrated to Perl. =item * -POSIX::sigaction() is now much more flexible and robust. +C is now much more flexible and robust. You can now install coderef handlers, 'DEFAULT', and 'IGNORE' handlers, installing new handlers was not atomic. @@ -1558,9 +1563,9 @@ sort() arguments are now compiled in the right wantarray context =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 * @@ -1570,7 +1575,13 @@ behaviour consistent with that of string interpolation. =item * -L ignored the C 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 ignored the C constant. =item * @@ -1832,7 +1843,7 @@ concurrently. (Still 16M per thread.) =item * -Ctmpdir()> now prefers C:/temp over /tmp +C now prefers C:/temp over /tmp (works better when perl is running as service). =item * @@ -1904,8 +1915,8 @@ the entire regex. You will an optional warning if you try to do otherwise. =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 @@ -1929,7 +1940,10 @@ For careful hackers only. =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. =item * @@ -1937,19 +1951,10 @@ Made possible to propagate customised exceptions via croak()ing. =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. - -=item * - dTHR and djSP have been obsoleted; the former removed (because it's a no-op) and the latter replaced with dSP. @@ -1989,11 +1994,7 @@ to F. =item * -There are now several profiling make targets - -=item * - -The C and C are now exported. +There are now several profiling make targets. =back