Stanis?aw Findeisen wrote:
> This short program:
> 
> #!/usr/bin/perl
> 
> use warnings;
> use strict;
> 
> use List::Util qw(sum);
> 
> my %h  = (1 => 5, 2 => 7, 5 => 18);
> my $sk = List::Util->sum(keys   %h);
> my $sv = List::Util->sum(values %h);
> 
> print("Sum of keys:   $sk\n");
> print("Sum of values: $sv\n");
> 
> my @lk  = (12, 3, 8);
> my $lks = List::Util->sum(@lk);
> print("Sum of lk:     $lks\n");

It doesn't appear as though sum() can be called as a class method. It
looks like when you call it as such, it shifts off List::Util and sets
it as the first parameter to sum, which in this case is wrong. This works:

use List::Util qw(sum);

#!/usr/bin/perl

use warnings;
use strict;

use List::Util qw(sum);

my %h  = (1 => 5, 2 => 7, 5 => 18);
my $sk = sum(keys   %h);
my $sv = sum(values %h);

print("Sum of keys:   $sk\n");
print("Sum of values: $sv\n");

Steve

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to