X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlsyn.pod;h=e6b420e5db9c19e323cae66eccb153f77fc7980d;hb=22d4bb9ccb8701e68f9243547d7e3a3c55f70908;hp=6d820b6882e8e9f30a0bf3833aed65789b9ed40a;hpb=4b19af017623bfa3bb72bb164598a517f586e0d3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlsyn.pod b/pod/perlsyn.pod index 6d820b6..e6b420e 100644 --- a/pod/perlsyn.pod +++ b/pod/perlsyn.pod @@ -309,9 +309,12 @@ The C keyword is actually a synonym for the C keyword, so you can use C for readability or C for brevity. (Or because the Bourne shell is more familiar to you than I, so writing C comes more naturally.) If VAR is omitted, C<$_> is set to each value. -If any element of LIST is an lvalue, you can modify it by modifying VAR -inside the loop. That's because the C loop index variable is -an implicit alias for each item in the list that you're looping over. + +If any element of LIST is an lvalue, you can modify it by modifying +VAR inside the loop. Conversely, if any element of LIST is NOT an +lvalue, any attempt to modify that element will fail. In other words, +the C loop index variable is an implicit alias for each item +in the list that you're looping over. If any part of LIST is an array, C will get very confused if you add or remove elements within the loop body, for example with