X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl56delta.pod;h=75d7728fda06249cdd58c845a721526f9245afaa;hb=bbd5c0f5ad81733b079008f34cd05cd9aef7d917;hp=9f30314acae490dfa3c75938152098766068826d;hpb=b3b6085d10c63109395e1fb03e3cedb8e77ab613;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl56delta.pod b/pod/perl56delta.pod index 9f30314..75d7728 100644 --- a/pod/perl56delta.pod +++ b/pod/perl56delta.pod @@ -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: @@ -786,7 +784,7 @@ 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 @@ -1837,7 +1835,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 +2629,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)> -delete(), each(), values() and hashes in a list context return the actual +operate on aliases to values, not copies + +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 +2784,7 @@ See L for further information about that. =head2 Compatible C Source API Changes -=over +=over 4 =item C is now C @@ -2912,7 +2914,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