http://www.perlmonks.org?node_id=1184051


in reply to How can I add all the numbers in an array with out doing a foreach loop?

He's a rather ridiculous solution which avoids using the addition operator. It only works for positive integers.

my @quans = (2, 5, 8, 12, 15, 88); my $total = scalar(map {1 .. $_} @quans); print "$total.\n";
  • Comment on Re: How can I add all the numbers in an array with out doing a foreach loop?
  • Download Code

Replies are listed 'Best First'.
Re: Answer: How can I add all the numbers in an array with out doing a foreach loop?
by choroba (Cardinal) on Mar 09, 2017 at 17:00 UTC
    This is very ineffective way of counting the sum. Try adding 100000000 into the array.

    What your solution does is it creates ranges 1 .. $_ for each number in the list, and then counts how many members the whole sequence has.

    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,