@manatwork está certo, soundex é provavelmente a ferramenta que você está procurando.
Instale o módulo perl Soundex usando o CPAN:
$ sudo cpan Text::Soundex
CPAN: Storable loaded ok (v2.27)
....
Text::Soundex is up to date (3.04).
Crie um arquivo cheio de nomes para testar chamado names.txt
jacob
Jakob
miguel
Michael
Agora o script perl usa o módulo Soundex, soundslike.pl
#!/usr/bin/perl
use Text::Soundex;
open(FH, 'names.txt');
$targetSoundex=soundex($ARGV[0]);
print "Target soundex of $ARGV[0] is $targetSoundex\n";
while(<FH>) {
chomp;
print "Soundex of $_ is ".soundex($_);
if($targetSoundex eq soundex($_)) {
print " (match).\n";
}else {
print " (no match).\n";
}
}
close(FH);
Torne-o executável e execute alguns exemplos:
$ chmod +x soundslike.pl
$ ./soundslike.pl michael
Target soundex of michael is M240
Soundex of jacob is J210 (no match).
Soundex of Jakob is J210 (no match).
Soundex of miguel is M240 (match).
Soundex of Michael is M240 (match).
$ ./soundslike.pl jagub
Target soundex of jagub is J210
Soundex of jacob is J210 (match).
Soundex of Jakob is J210 (match).
Soundex of miguel is M240 (no match).
Soundex of Michael is M240 (no match).