Показать сообщение отдельно

  #9  
Старый 25.11.2008, 09:11
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

$p01nt, попробуй вот этот код.
Код:
#!/usr/bin/perl

use strict;
use warnings;

open my $F, '<', '05.txt';
my $text = join '', <$F>;

$text =~ s/\n{2}/\$\$\$/g;

$text =~ s/\n/ /g;
$text =~ s/:[^\.]+\./\,/g;
$text =~ s/\d+//g;
$text =~ s/[\,\;]/\|/g;
$text =~ s/\s(v|n|adj|pron|num|adv|prep|conj)\.\s/\|/g;
$text =~ s/\|\s+/\|/g;
$text =~ s/\$\$\$/\n/g;
$text =~ s/\s*\|\s*$//g;
print $text, "\n";
Но код имеет ограничения. Первое - если идет подряд несколько примеров, то вырезается только первый (регулярка s/[^\.]+\.)+/\,/g не помогла). Второе - надо в строке
Код:
$text =~ s/\s(v|n|adj|pron|num|adv|prep|conj)\.\s/\|/g;
перечислить все части речи, встречающиеся в файле. Третье - строка
Цитата:
--n. 5 recklessness, intemperance, wantonnes
видимо съехала с родного места, такие надо поднимать к соответствующему слову на родину.
ЗЫ. Больше моск уже не работает =/

Последний раз редактировалось krypt3r; 25.11.2008 в 09:14..