X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl593delta.pod;h=f5c43da203cde41dd39ff6e1fe976e9087a34ce8;hb=2d997502fd695609fa2064523de2ba2d8d094b6c;hp=2af1af630544ef34ec7d0ff934e635a50def07a3;hpb=35cdf2f9effb7b7d5ac9c4a22f487d86f223a45e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl593delta.pod b/pod/perl593delta.pod index 2af1af6..f5c43da 100644 --- a/pod/perl593delta.pod +++ b/pod/perl593delta.pod @@ -64,7 +64,7 @@ Robin Houston. Perl 5 now has a switch statement. It's available when C is in effect. This feature introduces three new keywords, -C, C, and C : +C, C, and C: given ($foo) { when (/^abc/) { $abc = 1; } @@ -83,7 +83,7 @@ detail">. =head2 C -say() is a new built-in, only avaiable when C is in +say() is a new built-in, only available when C is in effect, that is similar to print(), but that implicitly appends a newline to the printed string. See L. @@ -161,7 +161,7 @@ Enhancements">. =item * -C, also available on CPAN, allows to use assertions on +C, also available on CPAN, allows the use of assertions on perl versions prior to 5.9.0 (that is the first one to natively support them). @@ -198,6 +198,12 @@ has been included for SHA support in the CPAN module. C is a pure perl implementation of C, that comes with C. +=head2 C + +C is a small script used to generate a diff between the contents +of a tar archive and a directory tree. Like C, it comes with +C. + =head2 C This command-line utility, used to print or to check SHA digests, comes @@ -205,7 +211,7 @@ with the new C module. =head2 C enhancements -C implements new option C<--use-xsloader> to force use of +C implements a new option C<--use-xsloader> to force use of C even in backwards compatible modules. The handling of authors' names that had apostrophes has been fixed. @@ -214,8 +220,8 @@ Any enums with negative values are now skipped. =head2 C enhancements -C implements new option C<-a> and will not check for F<*.ph> -files by default any more. Use the C<-a> option to run I tests. +C no longer checks for F<*.ph> files by default. Use the new C<-a> +option to run I tests. =head1 Documentation @@ -223,7 +229,9 @@ files by default any more. Use the C<-a> option to run I tests. The L manpage is a glossary of terms used in the Perl documentation, technical and otherwise, kindly provided by O'Reilly Media, -inc. +Inc. + +L now lists a rough roadmap to Perl 5.10. =head1 Performance Enhancements @@ -234,7 +242,18 @@ transliteration mappings has been reimplemented in XS. =head2 Constant subroutines -XXX +The interpreter internals now support a far more memory efficient form of +inlineable constants. Storing a reference to a constant value in a symbol +table is equivalent to a full typeglob referencing a constant subroutine, +but using about 400 bytes less memory. This proxy constant subroutine is +automatically upgraded to a real typeglob with subroutine if necessary. +The approach taken is analogous to the existing space optimisation for +subroutine stub declarations, which are stored as plain scalars in place +of the full typeglob. + +Several of the core modules have been converted to use this feature for +their system dependent constants - as a result C now takes about +200K less memory. =head2 C @@ -311,7 +330,7 @@ anyway.) =head2 Calling CORE::require() CORE::require() and CORE::do() were always parsed as require() and do() -when they were overriden. This is now fixed. +when they were overridden. This is now fixed. =head2 Subscripts of slices @@ -333,7 +352,7 @@ was backed out. Using the sprintf() function with some formats could lead to a buffer overflow in some specific cases. This has been fixed, along with several -other bugs, notably in bound checking. +other bugs, notably in bounds checking. In related fixes, it was possible for badly written code that did not follow the documentation of C to have formatting vulnerabilities. @@ -378,8 +397,8 @@ C now works better with non-default C<$/> settings. =item * -You can now use the C operator to repeat a C list. This used -to raise a syntax error. For example: C. +The C repetition operator is now able to operate on C lists. This +used to raise a syntax error. =item * @@ -461,7 +480,7 @@ of the declarations involved is a C variable: my $x; our $x; # warns our $x; my $x; # warns -On the other hand, the following : +On the other hand, the following: our $x; our $x; @@ -500,10 +519,6 @@ C parameters. The inheritance hierarchy of C modules has changed; C now inherits from C (it used to inherit from C). -=head1 Known Problems - -=head2 Platform Specific Problems - =head1 Reporting Bugs If you find what you think is a bug, you might check the articles