X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl56delta.pod;h=89d62371d894a89ababbbc759f4da13ff0418e11;hb=058cbdf29801a8d93ccfce9e13fe10af6f37109c;hp=9f30314acae490dfa3c75938152098766068826d;hpb=b3b6085d10c63109395e1fb03e3cedb8e77ab613;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl56delta.pod b/pod/perl56delta.pod index 9f30314..89d6237 100644 --- a/pod/perl56delta.pod +++ b/pod/perl56delta.pod @@ -1,6 +1,6 @@ =head1 NAME -perldelta - what's new for perl v5.6.0 +perl56delta - what's new for perl v5.6.0 =head1 DESCRIPTION @@ -112,16 +112,14 @@ to check if you're running a particular version of Perl: # new features supported } -C and C also have some special magic to support such literals. -They will be interpreted as a version rather than as a module name: +C and C also have some special magic to support such +literals, but this particular usage should be avoided because it leads to +misleading error messages under versions of Perl which don't support vector +strings. Using a true version number will ensure correct behavior in all +versions of Perl: - require v5.6.0; # croak if $^V lt v5.6.0 - use v5.6.0; # same, but croaks at compile-time - -Alternatively, the C may be omitted if there is more than one dot: - - require 5.6.0; - use 5.6.0; + require 5.006; # run time check for v5.6 + use 5.006_001; # compile time check for v5.6.1 Also, C and C support the Perl-specific format flag C<%v> to print ordinals of characters in arbitrary strings: @@ -167,13 +165,13 @@ as requiring an automatic lock() when it is entered, you had to declare that with a C pragma in the body of the subroutine. That can now be accomplished with declaration syntax, like this: - sub mymethod : locked method ; + sub mymethod : locked method; ... sub mymethod : locked method { ... } - sub othermethod :locked :method ; + sub othermethod :locked :method; ... sub othermethod :locked :method { ... @@ -457,7 +455,7 @@ When the last non-weak reference to an object is deleted, the object is destroyed and all the weak references to the object are automatically undef-ed. -To use this feature, you need the WeakRef package from CPAN, which +To use this feature, you need the Devel::WeakRef package from CPAN, which contains additional documentation. NOTE: This is an experimental feature. Details are subject to change. @@ -786,12 +784,18 @@ regardless of whether or not the array has been used or declared already. The fatal error has been downgraded to an optional warning: Possible unintended interpolation of @example in string - + This warns you that C<"fred@example.com"> is going to turn into C if you don't backslash the C<@>. See http://www.plover.com/~mjd/perl/at-error.html for more details about the history here. +=head2 @- and @+ provide starting/ending offsets of regex matches + +The new magic variables @- and @+ provide the starting and ending +offsets, respectively, of $&, $1, $2, etc. See L for +details. + =head1 Modules and Pragmata =head2 Modules @@ -1013,7 +1017,7 @@ messages. For example: =head1 NAME - sample - Using GetOpt::Long and Pod::Usage + sample - Using Getopt::Long and Pod::Usage =head1 SYNOPSIS @@ -1837,7 +1841,8 @@ run in compile-only mode. Since this is typically not the expected behavior, END blocks are not executed anymore when the C<-c> switch is used, or if compilation fails. -See L for how to run things when the compile phase ends. +See L for how to run things when the compile +phase ends. =head2 Potential to leak DATA filehandles @@ -2630,9 +2635,12 @@ but still allowed it. In Perl 5.6.0 and later, C<"$$1"> always means C<"${$1}">. -=item delete(), values() and C<\(%h)> operate on aliases to values, not copies +=item delete(), each(), values() and C<\(%h)> + +operate on aliases to values, not copies -delete(), each(), values() and hashes in a list context return the actual +delete(), each(), values() and hashes (e.g. C<\(%h)>) +in a list context return the actual values in the hash, instead of copies (as they used to in earlier versions). Typical idioms for using these constructs copy the returned values, but this can make a significant difference when @@ -2782,7 +2790,7 @@ See L for further information about that. =head2 Compatible C Source API Changes -=over +=over 4 =item C is now C @@ -2912,7 +2920,9 @@ include the following: =item The DB module -=item The regular expression constructs C<(?{ code })> and C<(??{ code })> +=item The regular expression code constructs: + +C<(?{ code })> and C<(??{ code })> =back @@ -2983,7 +2993,7 @@ warning. And in Perl 5.005, this special treatment will cease. If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup. -There may also be information at http://www.perl.com/perl/, the Perl +There may also be information at http://www.perl.com/perl/ , the Perl Home Page. If you believe you have an unreported bug, please run the B