This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #77234] Change 649d02de (unary prototypes) changes precedence
authorFather Chrysostomos <sprout@cpan.org>
Tue, 31 Aug 2010 20:13:06 +0000 (22:13 +0200)
committerFlorian Ragwitz <rafl@debian.org>
Tue, 31 Aug 2010 20:13:06 +0000 (22:13 +0200)
This patch retroactively adds a description of the breakage to
perl5134delta so it will be copied eventually into perl5140delta.

pod/perl5134delta.pod

index 7dbee18..5b22729 100644 (file)
@@ -102,6 +102,29 @@ exception if they don't match.
 Some bit fields have been reordered; therefore, this release will not be binary
 compatible with any previous Perl release.
 
+=head2 Change in the parsing of certain prototypes
+
+Due to a bug fix, functions using the C<(*)>, C<(;$)> and C<(;*)>
+prototypes are parsed with higher precedence than before. So in the
+following example:
+
+  sub foo($);
+  foo $a < $b;
+
+the second line is now parsed correctly as C<< foo($a) < $b >>, rather than
+C<< foo($a < $b) >>. This happens when one of these operators is used in
+an unparenthesised argument:
+
+  < > <= >= lt gt le ge
+  == != <=> eq ne cmp ~~
+  &
+  | ^
+  &&
+  || //
+  .. ...
+  ?:
+  = += -= *= etc.
+
 =head1 Deprecations
 
 =head2 List assignment to C<$[>