diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-07-27 10:46:26 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-07-27 10:51:04 -0700 |
commit | 2ba1f20ac3ac18b441a222cea2b0bbf6f3588c7d (patch) | |
tree | 65b642b8cfec178f82d9dbcb8cc62a9d88e9b6b6 /pod/perlfunc.pod | |
parent | e52de15a297bcbe6fac509aef6b35095923fa7d0 (diff) | |
download | perl-2ba1f20ac3ac18b441a222cea2b0bbf6f3588c7d.tar.gz |
[perl #113684] Document actual prec of loop exits
These have always* had assignment precedence, such that
$a = goto $b = $c
is equivalent to
$a = (goto ($b = $c))
* I haven’t checked before perl 5.
Diffstat (limited to 'pod/perlfunc.pod')
-rw-r--r-- | pod/perlfunc.pod | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 8e8bccaa25..b1cc605f3d 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -1620,6 +1620,11 @@ convert a core file into an executable. That's why you should now invoke it as C<CORE::dump()>, if you don't want to be warned against a possible typo. +Unlike most named operators, this has the same precedence as assignment. +It is also exempt from the looks-like-a-function rule, so +C<dump ("foo")."bar"> will cause "bar" to be part of the argument to +C<dump>. + Portability issues: L<perlport/dump>. =item each HASH @@ -2917,6 +2922,11 @@ NAME needn't be the name of a subroutine; it can be a scalar variable containing a code reference or a block that evaluates to a code reference. +Unlike most named operators, this has the same precedence as assignment. +It is also exempt from the looks-like-a-function rule, so +C<goto ("foo")."bar"> will cause "bar" to be part of the argument to +C<goto>. + =item grep BLOCK LIST X<grep> @@ -3237,6 +3247,11 @@ exit out of such a block. See also L</continue> for an illustration of how C<last>, C<next>, and C<redo> work. +Unlike most named operators, this has the same precedence as assignment. +It is also exempt from the looks-like-a-function rule, so +C<last ("foo")."bar"> will cause "bar" to be part of the argument to +C<last>. + =item lc EXPR X<lc> X<lowercase> @@ -3754,6 +3769,11 @@ that executes once. Thus C<next> will exit such a block early. See also L</continue> for an illustration of how C<last>, C<next>, and C<redo> work. +Unlike most named operators, this has the same precedence as assignment. +It is also exempt from the looks-like-a-function rule, so +C<next ("foo")."bar"> will cause "bar" to be part of the argument to +C<next>. + =item no MODULE VERSION LIST X<no declarations> X<unimporting> @@ -5568,6 +5588,11 @@ turn it into a looping construct. See also L</continue> for an illustration of how C<last>, C<next>, and C<redo> work. +Unlike most named operators, this has the same precedence as assignment. +It is also exempt from the looks-like-a-function rule, so +C<redo ("foo")."bar"> will cause "bar" to be part of the argument to +C<redo>. + =item ref EXPR X<ref> X<reference> |