On Tue, 07 Jun 2011 21:49:57 +0300, Maxim Vuets  wrote:

2011/6/7 Aleksander Gorohovski:

Подскажите можно ли более изящно, без промежуточной переменной $sum,
как это обычно делаю:

my $sum;
$sum += $_ for @m;

подсчитать сумму элементов массива @m
?

С подпрограммой, потому просто для коллекции:

  $ perl -E 'sub funcsum { @_ > 1 ? funcsum(@_[1..$#_]) + $_[0] :
$_[0] } say funcsum(@ARGV)' 1 1 2 3 5 8 11
  31

О-о. Тоже Супер. Главное функция безымянная.
Спасибо.

(Созреет на ещё один LT для Шитова?) (:
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить