文字列間の類似度を求める方法の一つとして、編集距離が挙げられます。編集距離は、考案者にちなみレーベンシュタイン距離とも呼ばれますが、具体的には、挿入や削除、置換によって、一方の文字列から他方の文字列に変換するために必要な作業の最小回数です。 use List::Util; sub levenshtein_distance { my ($list_1, $list_2) = @_; my $len_1 = scalar(@{$list_1}); my $len_2 = scalar(@{$list_2}); my @d; foreach my $i (0 .. $len_1) { $d[$i][0] = $i; } foreach my $j (0 .. $len_2) { $d[0][$j] = $j; } foreach my $i (1 .. $len_1) { foreach my