# SumDif.pm package SumDiff; use strict; use warnings; use Data::Dumper; sub mean { my $tt = 0; my $s = 0; while (defined($_ = shift)) { $tt += $_; $s++; } return $tt/$s; } sub diffmap { my ($s1, $s2) = @_; my @diff; foreach my $i(0..$#$s1) { my $c1 = $s1->[$i]; my $c2 = $s2->[$i]; my @d = map { abs($c2->[$_] - $c1->[$_]) } (0..$#$c1); $diff[$i] = mean(@d); } return \@diff; } sub diffavg { return mean(@{diffmap(@_)}); } 1;