個人用メモ

use strict;
use warnings;

my $data1 = {
    item1 => 1,
    item2 => 1,
    item3 => 3
};

my $data2 = {
    item1 => 2,
    item2 => 1,
    item3 => 5
};

my $distance = 0;

for (sort keys %{ $data1 }) {
    if(defined $data2->{$_}) {
        $distance += ($data1->{$_} - $data2->{$_}) ** 2;
    }
}

print 1 / (sqrt($distance) + 1);