From: Father Chrysostomos Date: Tue, 31 Aug 2010 20:13:06 +0000 (+0200) Subject: [perl #77234] Change 649d02de (unary prototypes) changes precedence X-Git-Tag: v5.13.5~232 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/61ea75ac73aaa903f60ec8d026e6d646f18b7451 [perl #77234] Change 649d02de (unary prototypes) changes precedence This patch retroactively adds a description of the breakage to perl5134delta so it will be copied eventually into perl5140delta. --- diff --git a/pod/perl5134delta.pod b/pod/perl5134delta.pod index 7dbee18..5b22729 100644 --- a/pod/perl5134delta.pod +++ b/pod/perl5134delta.pod @@ -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<$[>