On Wed, 2002-02-13 at 10:34, [EMAIL PROTECTED] wrote:
> >>>>> "Frank" == Frank  <[EMAIL PROTECTED]> writes:
> 
> 
> Frank> Yeah, my bad.. I shoulda tested it:
> Frank> $max=(sort{$a<=>$b}@a)[-1];
> 
> Or sort descending, probably a bit faster than a literal slice:
> 
> my ($max) = sort { $b <=> $a } @input;
> 
> -- 
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
> See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

So it should look something like this?

sub max {
        my $max;

        #if the array is small then sorting is faster
        if (@_ < 30) {
                #sort with descending values, then grab the first one
                ($max) = sort { $b <=> $a } @_;
        } else {
                #prime the pump with the first value of the array
                ($max) = @_;
                $max < $_ ? $max = $_ : 1 for (@_);
        }

        return $max;
}


-- 
Today is Prickle-Prickle the 44th day of Chaos in the YOLD 3168
Hail Eris!

Missle Address: 33:48:3.521N  84:23:34.786W


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to