I don't think it's good to scare people with a ternary operator and statement modifier in one statement. I do think
while ($i--) {
$max = $i if $data[$i] > $data[$max];
}
would be much more readable. I'd probably write it like this though:
my $max = 0;
for (0 .. $#data) {
$max = $_ if $data[$_] > $data[$max]
}
Update (suggested by ysth): It's actually better to start looping at index 1:
my $max = 0;
for (1 .. $#data) {
$max = $_ if $data[$_] > $data[$max]
}
There's no point in comparing the first element to itself.
|