LINUX.ORG.RU

Perl


102

7

Всего сообщений: 102

Perl 5.36.0

Группа Разработка

С момента выхода Perl 5.34.0 прошло около года.

Если исключить документацию, автоматически генерируемые файлы и инструментарий для формирования самого релиза, в новой версии изменено 190000 строк в 1300 файлах .pm, .t, .c и .h.

( читать дальше... )

>>> Подробности

 

perl5_guy
()

20 лет проекту GNU Parallel

Группа GNU's Not Unix

GNU parallel — утилита командной строки, позволяющая выполнять задачи на одном или нескольких компьютерах параллельно.

В прошлом году я нашел старую резервную копию с самой первой версией Parallel. В архиве не было исполняемого сценария, тем не менее остался временный файл от emacs (~parallel). Это обстоятельство позволило установить дату создания первой версии проекта: 6 января 2002г. На тот момент программа представляла из себя ~15 строк кода на Perl и она до сих пор запускается:

( читать дальше... )

>>> Подробности

 , ,

perl5_guy
()

Создан и работает сайт группы Modern Perl

Группа Open Source

Восстановлен и немного обновлен сайт, где указаны самые актуальные группы (есть общая ТГ группа, есть специальные под поиск работы) и события в русскоязычной среде перловиков.

>>> Подробности

 , комьюнити

pinachet
()

«The Perl and Raku Conference» видеоотчёт

Группа Конференции и встречи

Полный список докладов с кратким текстовым описанием можно посмотреть по ссылке.

В списке выступлений есть видео, которые будут полезны программистам на любых языках. Любители скандалов и интриг могут посмотреть видео про перипетии, предварившие выход Perl 5.34. Также в наличии отличные видео, рассказывающие, что за зверь язык «Raku», с чем его едят и какие «киллер фичи» он поддерживает из коробки.

>>> Плейлист с выступлениями

 , ,

perl5_guy
()

PCRE2 10.37

Группа Open Source

Вышел релиз библиотеки PCRE2 10.37. PCRE2 это вторая версия оригинальной библиотеки PCRE с несовместимым API.

Библиотека PCRE2 это набор функций, которые реализуют регулярные выражения и сопоставление с образцом (pattern matching), используя синтаксис и семантику схожие с Perl 5.

Основные изменения:

  • Из библиотеки libpcre2-posix удалены символы POSIX-функций, такие как regcomp и т.д., так как они вызывали проблемы у некоторых приложений. Патч pcre2-symbol-clash.patch принят в апстрим. Также обновлена версия ABI этой библиотеки.
  • Исправлено гипотетическое разыменование нулевого указателя.
  • Исправлено два бага, связанные с очень большими числами, и теперь поведение идентично Perl.
  • Исправлено неправильное поведение при использовании \K.
  • Восстановлена оптимизация повторения символа в JIT.

>>> Подробности

 , , , ,

ZenitharChampion
()

Perl 5.34.0

Группа Разработка

С момента выхода Perl 5.32.0 прошло около десяти месяцев. Если исключить документацию, генерируемые автоматически файлы и инструментарий для формирования самого релиза, было изменено 150,000 строк в 1,300 .pm, .t, .c и .h-файлах.

( читать дальше... )

>>> Подробности

 

perl5_guy
()

Анонсирован порт Perl веб-фреймворка Mojolicoious на Node.js

Группа Разработка

Как сообщает официальный твиттер-аккаунт фреймворка:

Разработка находится на ранней стадии, но в недалёком будущем, мы будем поддерживать Mojolicious как на Perl, так и на Node.js.

На вопрос: «Почему mojo.js?» создатель Mojolicious - Себастьян Ридель, ответил так:

У нас всегда были планы по портированию Mojolicious на другие языки, в оригинале на Perl6... Но мы знаем как всё обернулось. Тем временем, благодаря ES6, JavaScript стал действительно приятным инструментом и в экосистеме Node.js есть местечко для mojo.js.

В последующих твитах Себастьян упомянул пятнадцатикратное ускорение по сравнению с Perl-реализацией.

Напомню, что Mojolicious — мощный и современный веб-фреймворк написанный на языке программирования Perl, обладающий великолепной документацией, а инструментарий «Mojo», созданный в рамках проекта Mojolicious, успешно применяется самостоятельно в различных задачах.

>>> Подробности

 , ,

perl5_guy
()

Maxi Liberation — свободный редактор метатегов для электронных книг

Maxi Liberation — свободный редактор метатегов для электронных книг
Группа Open Source

Состоялся первый публичный релиз редактора метатегов электронных книг в форматах EPUB, FB2 и FB3 (поддержка AZW и MOBI в планах).

Программа является свободным программным обеспечением с общедоступными (открытыми) исходными кодами (FLOSS) и распространяется под лицензией GPLv3 или выше.

Поддерживаются системы GNU/Linux, UNIX, MS Windows, Apple macOS. Интерфейс реализован с помощью библиотеки wxWidgets, так что GUI родной для каждой ОС, например, используется GTK+ на GNU/Linux, MFC на Windows, Cocoa на macOS. В отличии от Qt или Java не осуществляется никакой эмуляции виджетов.

Программа была вдохновлена и написана под влиянием Ex Falso, популярного редактора метатегов для аудиофайлов. Большое спасибо его авторам! Использую его регулярно для своей музыкальной коллекции.

Язык реализации – Perl. Все модули (например, ZIP или XML) являются всего лишь привязками к динамическим библиотекам на Си, так что приложение работает быстро.

Скринкаст под GNU/Linux

Скриншот под MS Windows

Скриншот под Apple macOS

Страница на GitLab

>>> Подробности

 , , , метатеги

anonymous
()

Sawyer X покидает руководящий комитет Perl и перестаёт участвовать в разработке интерпретатора

Группа Разработка

Один из виднейших членов сообщества Perl, многократно бывавший в роли pumpking'а, принял решение покинуть руководящий комитет и приостановить участие в разработке ядра интерпретатора Perl. Причиной стали «преследования, травля и попытки публично пристыдить», в том числе со стороны других разработчиков ядра (имеется ввиду Core team сообщества).

Страсти вокруг интерпретатора кипят не первый месяц, с момента анонса Perl7 и сломе обратной совместимости в сопутствующих новой версии изменениях.

Тем не менее, Sawyer X, намерен выпустить в мае версию 5.34, если другие разработчики и члены комитета не будут возражать.

>>> Подробности

 

perl5_guy
()

Mojolicious 9.11 с исправлением уязвимости

Группа Разработка

Mojolicious – это фреймворк для веб-приложений реального времени, написанный Себастьяном Риделем, создателем фреймворка для веб-приложений Catalyst.

Для устранения уязвимости в версии 9.11 была сломана обратная совместимость. Необходимо обновиться!

Суть изменений в отключении автоматического определения форматов. Например, маршруты, которые раньше обрабатывали запросы «/foo» и «/foo.json», впредь будут отзываться только на «/foo». Доступные форматы необходимо явно перечислять.

>>> Ссылка на коммит с исправлением

 ,

perl5_guy
()

Угнан домен perl.com

Группа Безопасность

Ведутся работы по восстановлению контроля над доменом. На данный момент лучше воздержаться от его посещения.

>>> Подробности

 

anonymous
()

Perl 5.32.2

Группа Разработка

Данная версия является результатом четырёх недель разработки с момента выхода 5.33.1. Изменения внесены 19 авторами в 260 файлов и равны примерно 11,000 строк кода.

Тем не менее, в perldelta обозначено только одно ключевое нововведение:

  • интерпретатор может быть собран с экспериментальным ключом -Dusedefaultstrict, который включает по умолчанию соответствующую прагму. Действие данной настройки не распространяется на однострочники.

В данный момент идут жаркие споры об изменении поведения по умолчанию для Perl7, что приведёт к нарушению обратной совместимости. Данный выпуск проливает свет на выбранный разработчиками интерпретатора курс.

>>> Подробности

 

perl5_guy
()

Анонсирован выход Perl 7

Группа Разработка

Вчера вечером на «Perl and Raku Conference in the Cloud», Sawyer X анонсировал смену основной версии Perl с 5 на 7. Работы уже ведутся, новая версия выйдет в течение года. Большого количества изменений ждать не стоит, если коротко: Perl 7 это всё тот же Perl 5.32 с современными настройками по умолчанию. Вам больше не надо явно подключать возможности которые вы и так используете, их включат для вас!

( читать дальше... )

Perl 5.32 переходит в режим долгой поддержки на срок от 5 лет.

Развёрнутый анонс от Брайана Д Фоя: https://www.perl.com/article/announcing-perl-7/
TL;DR версия от него же: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

>>> Подробности

 , perl7

perl5_guy
()

Perl 5.32.0

Группа Разработка

Вышла новая версия интерпретатора языка программирования Perl 5.32.0.

Позади 13 месяцев разработки, 140 тысяч изменённых строк в 880 файлах.

Ключевые нововведения:

  • Новый экспериментальный оператор isa, проверяющий, является ли указанный объект экземпляром переданного класса или класса-наследника:

    if( $obj isa Package::Name ) { ... }
    

  • Поддержка Unicode 13.0!
  • Появилась возможность записывать операторы сравнения с одним приоритетом в виде цепочки:

    if ( $x < $y <= $z ) {...}
    

    Тоже самое что:

    if ( $x < $y && $y <= $z ) {...}
    

    Про данную особенность можно подробней почитать в perlop (раздел «Operator Precedence and Associativity»).
  • Буквенные обозначения утверждений в регулярных выражениях больше не являются экспериментальными. Пример: (*pla:pattern), подробнее в perlre.
  • Возможность ограничения проверяемого шаблона конкретной системой письма (подробнее «Script Runs» в perlre) больше не является экспериментальной.
  • Появилась возможность отключать непрямой вызов методов. Подробнее можно почитать в заметке Брайана Д Фоя.

Некоторые оптимизации:

  • Проверка подключения дополнительных возможностей (features) теперь происходит быстрее.
  • Существенно ускорены специальные случаи для сортировки (речь о {$a <=> $b} и {$b <=> $a} ).

Выбрал только некоторые вещи на свой вкус. Есть иные нововведения, несовместимые с прошлыми версиями изменения, обновления документации и закрытые проблемы безопасности. Предлагаю ознакомиться с полной perldelta по ссылке.

>>> Подробности

 

perl5_guy
()

Облачная конференция по Perl и Raku

Группа Разработка

COVID-19 разогнал всех по домам, но как бы то ни было, у сообщества накопилось много интересных мыслей по Perl и Raku, которыми хочется поделиться.

Присоединяйся к трёхдневному мероприятию насыщенному интересными выступлениями!

Конференция будет проходить с 24 по 26 июня. Купившие билет в 10$, смогут смотреть живые выступления и задавать вопросы докладчикам. Для всех остальных, видеоотчёт будет доступен на ютуб совершенно бесплатно.

Доклады традиционно читают волонтёры и желающие могут поддержать альтруистов рублём.

>>> Подробности

 , ,

perl5_guy
()

Cor - алтернативная ООП система для Perl

Группа Разработка

По ссылке сравнение Cor и Moose. Пример кода:

class Point {
    has ( $x, $y ) :reader :writer :new :isa(Int);

    method clear () {
        ( $x, $y ) = ( 0, 0 );
    }
}

class Point3D isa Point {
    has $z :reader :writer :new :isa(Int);

    method clear () {
        $self->next::method;
        $z = 0;
    }
}

>>> Подробности

 ,

perl5_guy
()

Новая книга Брайана Ди Фоя: «Mojolicious Web Clients»

Группа Разработка

Книга будет полезна программистам и системным администраторам. Для её чтения достаточно знать основы Perl. Освоив её, вы овладеете мощным и выразительным инструментом, который поможет упростить решение повседневных задач.

В книге освещены:

  • основы HTTP;
  • разбор JSON;
  • разбор XML и HTML;
  • селекторы CSS;
  • непосредственное выполнение HTTP-запросов, аутентификация и работа с cookie;
  • выполнение неблокирующих запросов;
  • обещания.
  • Написание однострочников и модуль ojo. Некоторые примеры:

    % perl -Mojo -E 'g(shift)->save_to("test.html")' mojolicious.org
    % mojo get https://www.mojolicious.org a attr href
    

    Цена у книги более чем народная и я уже полистал ее. Мне очень понравилась. Материал излагается доступно и интересно. Много познавательных отступлений о том, почему то или иное средство реализовано именно так.

    Брайан обещает обновлять учебник несколько раз в год и в данный момент работает над следующей книгой, посвящённой уже самому веб-фреймворку.

>>> Оглавление

 ,

perl5_guy
()

9 лет Mojolicious! Праздничный релиз 8.28 с async/await!

Группа Разработка

Mojolicious — современный веб-фреймворк на Perl. Mojo — дочерний проект по разработке набора инструментов для фреймворка. Модули семейства Mojo::* широко применяется и в сторонних проектах.

Пример кода:

use Mojo::Base -strict, -async;

async sub hello_p {
  return 'Hello Mojo!';
}

hello_p()->then(sub { say @_ })->wait;

Больше примеров в документации.

Ранее Perlfoundation выделяла грант на разработку модуля Future::AsyncAwait. Некоторое время спустя, основной разработчик Mojolicious (Себастьян Ридель) сообщал, что ведутся работы по реализации async/await.

Также добавлена экспериментальная поддержка метода all_settled для Mojo::Promise.

>>> Подробности

 ,

perl5_guy
()

Код интерпретатора Perl официально перенесён на GitHub

Группа Разработка

Ранее исходники находились по адресу perl5.git.perl.org.

>>> Подробности

 

perl5_guy
()

Perl Weekly Challenge

Группа Разработка

Весёлые старты для любителей Perl'а и всех кто хочет попробовать силы в чёрной магии.

Каждую неделю публикуются две несложные задачки. Можно решать, а можно предложить себя в качестве наставника и помогать начинающим.

Упор сделан на TIMTOWTDI. Организатор просит избегать гольфа и JAPH, в остальном: «Пусть расцветают сто цветов».

По итогам пишут отчёт с наиболее интересными решениями.

Цель: популяризация Perl, обмен опытом и веселье!

>>> Подробности

 , , , ,

perl5_guy
()