in reply to question 1st - undefined behaviour
As someone else already mentioned, you really should take a look at just exactly what the pre- and post-increment operators are doing and when.
Also, and even more importantly, you have made a major error in thinking that your code snippet from your comment above ($x = ++$x + $x++ + $x) is the same as in your OP, which was $x = $x + ++$x + $x++. They are entirely different.
Here is a simple program to demonstrate the point:
#!/usr/bin/perl use strict; use warnings; my $x = 5; $x = $x + ++$x + $x++; print "x: $x\n"; my $y = 5; # avoid any contamination from first group. $y = ++$y + $y++ + $y; print "y: $y\n"; exit; __END__ Output: [~/perl/test]# ./prepost.pl x: 18 y: 20
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: question 1st - undefined behaviour
by rumos2 (Acolyte) on Sep 23, 2013 at 23:41 UTC |