From 0ecf77202426ce862c50dd98b2b8728a4e9bdba9 Mon Sep 17 00:00:00 2001 From: Ricardo Signes Date: Mon, 23 Apr 2012 18:36:37 -0400 Subject: [PATCH] perldelta: add a missing "if" to clarify bugfix --- Porting/perl5160delta.pod | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Porting/perl5160delta.pod b/Porting/perl5160delta.pod index ca3893c..0458685 100644 --- a/Porting/perl5160delta.pod +++ b/Porting/perl5160delta.pod @@ -3261,11 +3261,11 @@ working for the rest of the block.t For list assignments like C<($a,$b) = ($b,$a)>, Perl has to make a copy of the items on the right-hand side before assignment them to the left. For efficiency's sake, it assigns the values on the right straight to the items -on the left no variable is mentioned on both sides, as in -C<($a,$b) = ($c,$d)>. The logic for determining when it can cheat was -faulty, in that C<&&> and C<||> on the right-hand side could fool it. So -C<($a,$b) = $some_true_value && ($b,$a)> would end up assigning the value -of C<$b> to both scalars. +on the left if no one variable is mentioned on both sides, as in C<($a,$b) = +($c,$d)>. The logic for determining when it can cheat was faulty, in that +C<&&> and C<||> on the right-hand side could fool it. So C<($a,$b) = +$some_true_value && ($b,$a)> would end up assigning the value of C<$b> to +both scalars. =item * -- 1.8.3.1