# Iterative sub SumArryItr { my $agg = 0; $agg += $_ for @_; return $agg } # Recursive use feature 'current_sub'; sub SumArryRcs { 1==@_?$_[0]:1>@_?die:shift(@_)+__SUB__->(@_) } # Eval Trick sub SumArryEvl { eval join "+", @_ } # Test my @array = ( -249, 0, 74, 65, 80, 72 ); print "Sum: ", join( ", ", @array ), "\n"; print "Itr: ", SumArryItr( @array ), "\n"; print "Rcs: ", SumArryRcs( @array ), "\n"; print "Evl: ", SumArryEvl( @array ), "\n";