Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /usr/share/doc/perl-Text-Fuzzy/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/doc/perl-Text-Fuzzy/examples/extract-kana.pl
#!/usr/bin/perl
use warnings;
use strict;
use Lingua::JA::Moji ':all';
use Text::Fuzzy;
use utf8;
binmode STDOUT, ":utf8";
my $infile = '/home/ben/data/edrdg/edict';
open my $in, "<:encoding(EUC-JP)", $infile or die $!;
my @kana;
while (<$in>) {
    my $kana;
    if (/\[(\p{InKana}+)\]/) {
	$kana = $1;
    }
    elsif (/^(\p{InKana}+)/) {
	$kana = $1;
    }
    if ($kana) {
	$kana = kana2katakana ($kana);
	push @kana, $kana;
    }
}
printf "Starting fuzzy searches over %d lines.\n", scalar @kana;
search ('ォă‚Șă‚œă‚Šă‚ł');
search ('スむり゚ă‚Șă‚«ă‚­ă‚Żă‚±ă‚łăƒăƒ“ăƒ–ăƒ™ăƒœăƒăƒ’ăƒ•ăƒ˜ăƒ›');
search ('ă‚ąăƒ«ăƒ™ăƒ«ăƒˆă‚ąă‚€ăƒłă‚·ăƒ„ă‚żă‚€ăƒł');
search ('バババブ');
search ('ăƒăƒăƒăƒ–ă‚ąăƒ«ăƒ™ăƒ«ăƒˆ');
exit;

sub search
{
    my ($silly) = @_;
    my $max = 10;
    my $search = Text::Fuzzy->new ($silly, max => $max);
    my $n = $search->nearest (\@kana);
    if (defined $n) {
	printf "$silly nearest is $kana[$n] (distance %d)\n",
	    $search->last_distance ();
    }
    else {
	printf "Nothing like '$silly' was found within $max edits.\n";
    }
}


Hry