bash$ subash# man CPANbash# perl -MCPAN -e shell;cpan> m LWP
Module id = LWP DESCRIPTION Libwww-perl CPAN_VERSION 5.803 CPAN_FILE G/GA/GAAS/libwww-perl-5.803.tar.gz MANPAGE LWP - The World-Wide Web library for Perl INST_FILE /usr/lib/perl5/site_perl/LWP.pm
cpan> install G/GA/GAAS/libwww-perl-5.803.tar.gzcpan> m HTML::Parsecpan> install install S/SB/SBURKE/HTML-Tree-3.18.tar.gz (цей модуль використовується для перетворення HTML в простий текст)cpan> m HTML::FormatText cpan> install S/SB/SBURKE/HTML-Format-2.04.tar.gz (так само)cpan> exit
#!/usr/bin/perluse LWP::Simple;getprint($ARGV[0]);
chmod +x dump_url.pl./dump_url.pl http://www.google.com
#!/usr/bin/perluse LWP::Simple;use HTML::Parse;print parse_html(get $ARGV[0])->format;
./dump_url2text.pl http://www.google.com/linux
tar xvzf d1489-1.5.tgzcd d1489-1.5make installwhich fromwin
#!/usr/bin/perl#use LWP::UserAgent;use HTML::Parse;$ua = LWP::UserAgent->new;my $req = HTTP::Request->new(POST => 'http://ukrmova.virtualave.net/cgi-bin/olenuapro.pl');$req->header('Content-type' => 'text/html');$req->content("Word=$ARGV[0]"); # заповнить це: <input maxlength=40 name=Word size=17 tabindex=1 value=""> my $res = $ua->request($req);print parse_html($res->as_string())->format;
chmod +x transl.pl ./transl.pl complex | fromwin./transl.pl complex | fromwin | grep "[а-ьА-Ь]"
# with help from thundergnat (news:perl.newbie) :)#!/usr/bin/perluse warnings;use strict;open (my $fileraw, '<', 'en_ua_raw.txt') or die "Can't open file for reading: $!";open (my $tofile, '>', 'en_ua.txt') or die "Can't open file for writing: $!";my %seen;while (<$fileraw>){ next if /^\n$/; print $tofile $_ unless $seen{$_}; $seen{$_}++;}
Обновив словник http://freewebs.com/nabis/en_ua.zip . Добавилось слів (28000), дуже рекомендую.
Очистив від дубльованих ліній:Код: [Вибрати]# with help from thundergnat (news:perl.newbie) :)#!/usr/bin/perluse warnings;use strict;open (my $fileraw, '<', 'en_ua_raw.txt') or die "Can't open file for reading: $!";open (my $tofile, '>', 'en_ua.txt') or die "Can't open file for writing: $!";my %seen;while (<$fileraw>){ next if /^\n$/; print $tofile $_ unless $seen{$_}; $seen{$_}++;}
А можна його привести у формат, придатний для використання з іншими словниками? Напр.СЛОВО = опис в одну лінійкуабоСЛОВО<sp><sp>опис в одну лінійкуде <sp><sp> - це два пробіли.Руками виправляти дуже довго. :-("sort -u"?
char *win2koi8[] = { "Ъ", "Г", "\'", "г", "\"", "...", "+", "+", /* 80-87 */ "#", "%", "ЛЬ", "<", "НЬ", "К", "h", "Ц", /* 88-8F */ "h", "`", "\'", "\"", "\"", "\x95", "-", "-", /* 90-97 */ "#", "(TM)", "ль", ">", "нь", "к", "h", "ц", /* 98-9F */"\x9A", "У", "у", "J", "$", "Г", "|", "$", /* A0-A7 */"\xB3", "\xBF", "Е", "\"", "^", "-", "(R)", "I", /* A8-AF */"\x9C", "+", "I", "i", "г", "m", "#", "\x9E", /* B0-B7 */"\xA3", "N", "е", "\"", "j", "S", "s", "i", /* B8-BF */"\xE1", "\xE2", "\xF7", "\xE7", "\xE4", "\xE5", "\xF6", "\xFA", /* C0-C7 */"\xE9", "\xEA", "\xEB", "\xEC", "\xED", "\xEE", "\xEF", "\xF0", /* C8-CF */"\xF2", "\xF3", "\xF4", "\xF5", "\xE6", "\xE8", "\xE3", "\xFE", /* D0-D7 */"\xFB", "\xFD", "\xFF", "\xF9", "\xF8", "\xFC", "\xE0", "\xF1", /* D8-DF */"\xC1", "\xC2", "\xD7", "\xC7", "\xC4", "\xC5", "\xD6", "\xDA", /* E0-E7 */"\xC9", "\xCA", "\xCB", "\xCC", "\xCD", "\xCE", "\xCF", "\xD0", /* E8-EF */"\xD2", "\xD3", "\xD4", "\xD5", "\xC6", "\xC8", "\xC3", "\xDE", /* F0-F7 */"\xDB", "\xDD", "\xDF", "\xD9", "\xD8", "\xDC", "\xC0", "\xD1" /* F8-FF */};
Я сам поки-що доволі слабий в "object-oriented" (як по-українськи?) програмуванні.
Можна спробувати. sort -u не працює, оскільки повтори часом були перемежовані:Line 1Line 2Line 1 (Line1 i Line1 розділені)
Ще один серйозний "баг", це те що вищезгадана fromwin розуміє тілки KOI8-R (російскі літери) українські "ї" та "є" замінюються на "i" "e", дивно що взагалі працює. Не є good Я можу поробувати покопирсатись в ній, але нічого наперед не обіцяю.
#!/bin/shFROM=CP1251TO=KOI8-Uif [ "foo$1" == "foo" ]theniconv -c -f "$FROM" -t "$TO"//TRANSLITelse TMPFILE="`mktemp /tmp/w2l.XXXXXX`" || exit 1 echo "Converting from $FROM to $TO:" for I in $@ do echo "$I" "$0" <"$I" >"$TMPFILE" || exit 1 chmod --reference="$I" "$TMPFILE" if [[ $UID==0 ]] then chown --reference="$I" "$TMPFILE" fi mv -f "$I" "$I~" mv -f "$TMPFILE" "$I" done echo "Done."fi
rebuke 1. n догана; докір : without rebuke - бездоганний 2. v робити догану; докорятиrebut v 1) спростовувати (обвинувачення тощо) 2) давати відсічrecalcitrant 1. adj непокірний; упертий 2. n непокірна людинаrecall 1. v 1) відкликати (урядову особу) 2) виводити (з задумливості) 3) скасовувати 4) згадувати, нагадувати, воскрешати (в пам'яті) 5) призивати (з запасу) 2. n 1) відкликання (урядової особи) 2) військ. сигнал до повернення; відбій 3) виклик виконавця на біс
http://freewebs.com/nabis/enua.zip