[ $x => $y ] is the same as [ $x, $y ] which is the essentially the same as
my $ary = ( $x, $y );
my $aryRef = \ @ary;
And $x <= $y is just a boolean expression that will give a false (0) result if $x > $y and true value (1) otherwise.
$aryRef->[ 0/1 ] will return either $ary[ 0 ] or $ary[ 1 ].
Putting it all together, you get an expression that will construct an anonymous array containing $x, $y, then dereferences that anonmous array and uses the boolean result of the comparison to select the greater of the two values before assigning it to the scalar.
"But you should never overestimate the ingenuity of the sceptics to come up with a counter-argument." -Myles Allen
"Think for yourself!" - Abigail
"Time is a poor substitute for thought"--theorbtwo
"Efficiency is intelligent laziness." -David Dunham
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
| [reply] [Watch: Dir/Any] [d/l] [select] |
Hey!
I understand!! ;-)
So, in exmaple:
my $x = 5
my $y = 10
my $highestvalue = [ $x => $y ] -> [ $x <= $y ]
#we have @aray(5,10) and because (5 <= 10) it returns 1, so
$highestvalue = aray[1]
thats mean 10 in this example, right?
Eh, nice trick... ;-)
Thanks for you reply.
Uksza
| [reply] [Watch: Dir/Any] [d/l] |