#!/usr/bin/perl

sub covariance {
    my ($array1ref, $array2ref) = @_;
    my ($i, $result);
    for ($i = 0; $i < @$array1ref; $i++) {
        $result += $array1ref->[$i] * $array2ref->[$i];
    }
    $result /= @$array1ref;
    $result -= mean($array1ref) * mean($array2ref);
}

@hits  = (2378, 4024, 9696, 7314, 7710);
@sales = (310.94, 315.88, 514.15, 500.18, 610.37);

print covariance(\@hits, \@sales), "\n";

# $mean = mean(\@array) computes the mean of an array of numbers.
#
sub mean {
    my ($arrayref) = @_;
    my $result;
    foreach (@$arrayref) { $result += $_ }
    return $result / @$arrayref;
}
