document compatibility issue with literal list slices and NOTOP
authorGurusamy Sarathy <gsar@cpan.org>
Thu, 9 Dec 1999 04:00:23 +0000 (04:00 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Thu, 9 Dec 1999 04:00:23 +0000 (04:00 +0000)
(C<not (1,2,3)[0]> is now a syntax error)

p4raw-id: //depot/perl@4673

pod/perldelta.pod

index 5fba768..924996d 100644 (file)
@@ -125,6 +125,28 @@ The undocumented special variable C<%@> that used to accumulate
 has been removed, because it could potentially result in memory
 leaks.
 
+=item Parenthesized not() behaves like a list operator
+
+The C<not> operator now falls under the "if it looks like a function,
+it behaves like a function" rule.
+
+As a result, the parenthesized form can be used with C<grep> and C<map>.
+The following construct used to be a syntax error before, but it works
+as expected now:
+
+    grep not($_), @things;
+
+On the other hand, using C<not> with a literal list slice may not
+work.  The following previously allowed construct:
+
+    print not (1,2,3)[0];
+
+needs to written with additional parentheses now:
+
+    print not((1,2,3)[0]);
+
+The behavior remains unaffected when C<not> is not followed by parentheses.
+
 =back
 
 =head2 C Source Incompatibilities