On Tue, 07 Jun 2011 22:15:49 +0300, Oleg Alistratov wrote:>

On 07.06.2011 21:49, Maxim Vuets wrote:

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

Ну давайте тогда с целым ООПом:


package Summator;

sub new {
     my $x = 0;
     return bless \$x, __PACKAGE__;
}

use overload
'+' => sub {
     my ($self, $items) = @_;
     $items = [ $items ] if !ref $items;
     $$self = 0;
     $$self += $_ for @$items;
     return $self;
},

'""' => sub {
     my $self = shift;
     return $$self;
};


package main;
print Summator->new + ( 1 .. 100 );
1;


О, нет. Только не это.
Я уж лучше по старинке.
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить