sub locationscore { my $self = shift; my $rows = shift; my %locations; for my $row (@$rows) { my $sum = 0; for (1..$#$row) { $sum += $row->[$_] }; if (!defined($locations{ $row->[0] } || $sum < $locations{ $row->[0] } ) { $locations{ $row->[0] } = $sum; } } $self->normalizescores(\%locations, ...); } #### $locations{ $_->[0] } = 1_000_000 for (@$rows);