на главнуюВсе эхи RU.PERL
войти ?

Re: perl, python, ..

От Eugene Grosbein (2:5006/1) к Nil Alexandrov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


02 мая 2020, суббота, в 20:17 NOVT, Nil Alexandrov написал(а):

NA> В последнее время питон, кроме написания скриптов так таковых, стал
NA> использоваться как R&D тул всякими ресёрчерами (умные дядьки с магистратурами),
NA> которые на нём могут что-то попрототипировать, покрутить туда-сюда и всё это с
NA> минимальным количеством строк кода. Как это стало возможным? Всё благодаря
NA> обёрткам вокруг C++ кода/библиотек. Получается, что ты пишешь одну/две строчки
NA> взять данные по такому-то URL (пример urllib, код работает быстро со скоростью
NA> C), второй строчкой парсим XML/JSON/.. тоже C библиотечным вызовом, а дальше
NA> скармливаем нашей статистической модели или нейронке, библиотек для (глубокого)
NA> машинного обучения (мы в шутку называет deep shit learning), и, пальцем в небо
NA> (но с умным выражением лица), прогнозируем когда закончится карантин, сколько
NA> будет стоить акции, когда доллару хана, и прочее прочее. Естесссно, что на перле
NA> этого всего не завезли, и это хорошо.

А можно тебя попросить больше никогда не рассуждать
публично о том, о чём ты никакого понятия не имеешь?
Я тут себе чуть всё лицо фейспалмами не разбил
с одного этого параграфа.

Чуток из боевого perl-кода, который вызывается из embedded perl,
встроенного внутрь радиус-сервера и обрабатывающего голосовые
вызовы в реальном времени параллельно с их протеканием:

use HTTP::Tiny; # часть стандартного дистрибутива perl
...

our @urls = ($url1, $url2);
...

foreach my $baseurl (@urls) {
my $http = HTTP::Tiny->new ('timeout' => TIMEOUT);
my $url = $baseurl . "...";
my $response = $http->get($url);
...
}

Конечно, в Perl не завезли работу с URL!
И в metacpan тоже ничего нету на эту тему! Ой нет, есть, навскидку:

$ pkg search -x 'p5-' | egrep -i 'www|url|uri' | wc -l
172

Одних только дополнительных модулей, работающих с WWW/URL/URI
больше полутора сотен, среди них p5-Net-Curl, p5-WWW-Curl,
p5-libwww, p5-WWW-Telegram-BotAPI, p5-URI-ws (websockets) и т.д.

Что касается парсинга XML, то в Perl конечно этого нету.
Ой, тоже есть. Кусок боевого кода, который выгружает
и парсит пресловутый черный список РКH, который распространяется
в виде XML и сейчас весит 120160KB (то есть, 117MB),
и не дай бог подобный парсер заглючит и не выполнит свою работу
точно и без багов, 50 тысяч рублей штрафа.

use XML::Simple;
$XML::Simple::PREFERRED_PARSER = 'XML::Parser';

# Чтобы получить доступ к XML, нужно использовать SOAP
sub soap_fault($$);
use SOAP::Lite on_fault => sub { soap_fault($_[0], $_[1]); };
my $client = SOAP::Lite->new;
$SOAP::Constants::PREFIX_ENV = 'SOAP-ENV';
...

# Парсинг XML-файла схемы WSDL
$service = $client->service($endpoint);
...

# SOAP-запрос zip с XML внутри:
...

for(my $t = $try; $t > 0; $t--) {
...
eval { $r = $service->call('getResult',
SOAP::Data->name('code')->value($code))->body->{'getResultResponse'};
};
...
}
# Парсинг XML-файла непосредственно из потока unzip:
eval { local $SIG{'__DIE__'}; $h = XMLin('-'); };
...

my $content = $h->{'content'};
# обработка содержимого XML
while (($key, $value) = each %$content) {
...
}

Hу уж машинного обучения в Perl не точно завезли?
Ой, и это активно обновляется! Последняя версия меньше
трех месяцев назад, автор Сергей Колычев из WhiteHat Security:

https://metacpan.org/release/AI-MXNet

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.PERL?msgid=grosbein.net+bdc70fc9