> Bryan Harris wrote:
>> 
>>> chen li wrote:
>>> 
>>>> I want to calculate the mean of an array. I know how
>>>> to let the job done by using a loop. But I just wonder
>>>> if Perl has the short-cut/built-in function for this.
>>>> 
>>>> my @data=(1,1,1);
>>>> 
>>>> mean=(1+1+1)/3=1;(Any perl built-in function for
>>>> this?)
>>> my $mean = do { my $s; $s += $_ for @data; $s / @data };
>> 
>> I can't believe I just beat John in perl golf, by 14 strokes!
>> 
>> (Anyone who knows me knows I just got lucky on that hole...)
> 
> Well, if you want to golf that:
> 
> my$mean=(map$a+=$_/@data,@data)[-1];


Looks like a tie now!  Neat.

I wonder (only a little) which way is more efficient...

- B



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to