|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vilfred 2:5020/400 22 Aug 2005 19:23:34 To : Vadim Tzirulnicov Subject : Re: Узнать степень совпадения -------------------------------------------------------------------------------- Vadim Tzirulnicov спрашивал, отвечаю: #!/usr/bin/perl -w use locale; %oo=("будет"=>1, "африка"=>1, "завтра"=>1); $b="африка африка будет африка завтра"; $o="африка будет вчера зачем что-то"; $tw="африка небудет вчера будет завтра"; $tb="аляска аляска будет будет будет сегодня"; @m=($b, $o, $tb, $tw); rrand(\@m); print join "\n", @m,"\n"; for $i(0 .. $#m){ $h{$i}{$1}++ while $m[$i]=~m!((\w[\w-]*){4,30})!g; $vr{$i}=$m[$i]; } for $r(keys %h){print "\n"; my (@ee, $u, $trr); for $n(keys %{$h{$r}}){ do{ $t = join " " => $vr{$r}; $u+=1; push @ee => $h{$r}{$n}; } if exists $oo{$n}; } print "$t ",$u + $ee[0]-1,"\n"; } sub rrand{ my $m = shift; my $i; for($i=@$m; --$i;){ my $j = int rand($i+1); net if $i==$j; @$m[$i,$j] = @$m[$j,$i] } } Дима -- TEAM [Маньяки] Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488968afd1a.html, оценка из 5, голосов 10
|