Выпуск 11. Январь 2014

Обход дерева директорий на Perl и Haskell (часть 1) | Содержание | Интервью с Tokuhiro Matsuno

Обзор CPAN за декабрь 2013 г.

Рубрика с обзором интересных новинок CPAN за прошедший месяц.

Статистика

  • Новых дистрибутивов — 193
  • Новых выпусков — 795

Новые модули

Модуль для генерации SQL-запросов и преобразования полученных массивов данных в структуру, удобную для использования в шаблонизаторах. Поддерживается стандартный набор CRUD-запросов и вложенные JOIN. Похож на модуль SQL::Abstract, но проще и имеет бонус в виде парсера возвращаемых данных.

Модуль для ведения логов приложения, позволяет задавать уровень информативности (ошибки, предупреждения, отладка и т.д), категорию сообщений и удобный синтаксис для вывода ссылок и структур. Особенность модуля в том, что он не даёт никаких накладных расходов в случае, если все или какие-то определённые уровни информативности отключены. Типичная запись $log->debug(), в случае отключенного режима отладки тем не менее приводит к вызову метода. В Log::Declare запись

    debug "debug message" [category];

разворачивается в

    debug && $Log::Declare::logger->log('debug', ['category'], "debug message");

Таким образом, выражение после && никогда не вычисляется.

Простенький модуль, полезный, когда вам нужно использовать символ одиночной кавычки в однострочнике. Обычно для это требуется применять страшное экранирование '\'':

    $ perl -e 'print "'\'' - single quote"'
    ' - single quote

Модуль SQ предоставляет переменные $s, $q и $sq, которые содержат одиночную кавычку:

    $ perl -MSQ -e 'print "$q - single quote"'
    ' - single quote

Sub::Deprecated позволяет использовать атрибут :Deprecated для методов, которые устарели. В случае использования таких методов будет генерироваться предупреждение.

Обновлённые модули

В новой версии YAML возвращена совместимость с Perl 5.8.

Обновлённая версия утилиты для поиска ack исправляет проблему с безопасностью. При использовании опций --pager, --regex и --output ack больше не загружает ackrc-файлы, которые находятся в каталогах проектов, где происходит поиск.

Новый релиз модуля для проверки валидности IP-адресов содержит обновлённую документацию. Также обновлена информация о тестовых сетях и зарезервированных сетях IPv6.

После пятилетнего перерыва обновился модуль Socket6, который добавляет константы и функции для работы с IPv6. Исправлены множество багов, долгое время висевших без какой-либо реакции со стороны автора. Хотя на данный момент IPv6 отлично работает и в модуле Socket, а также в IO::Socket::IP, данное обновление очень важно хотя бы потому, что модуль с таким именем должен, по меньшей мере, быть рабочим, чтобы избежать истерик, что в Perl не работает IPv6, а значит он мёртв

Обновился PSGI-веб-сервер Thrall, использующий нити для обработки входящих запросов. В новом релизе появилась поддержка HTTP 1.1, IPv6, SSL.

Модуль Markdent, предназначенный для обработки markdown-текстов парсером, генерирующим события. Помимо привычного преобразования в HTML-формат возможно назначение обработчиков на какие-либо события (найдена ссылка, выделение, заголовок и т.д.) для специфической обработки текста. В новой версии добавлена поддержка «ленивых» и «пьяных» списков.

В новом релизе XML::SAX::Writer исправлена ошибка при экранизации символов создаваемого XML-документа. В случае если использовалось несколько объектов XML::SAX::Writer с разным регулярным выражением для экранирования, самое первое из них кешировалось и использовалось для всех объектов.

В декабре на CPAN появилась новая мажорная версия легковесного ORM ObjectDB. Многие идеи взяты из проекта Rose::DB::Object, но основной упор сделан на простоту и прямолинейность.

Новый релиз веб-фреймворка Dancer2 включает несколько важных исправлений в коде и документации. Переработана реализация ключевых слов halt, redirect и forward для немедленного возврата их роута или хука. Чтоб не загрязнять @INC, теперь запускаемый скрипт ответственен за подключение каталога ./lib, если в этом есть необходимость.

Вышел мажорный релиз популярного фреймворка для создания и проверки HTML-форм с внушительным списком изменений и исправлений.

Обновлён модуль Test::Continuos для выполнения тестирования в процессе разработки. В новой версии исправлена проблема с Perl 5.18.

Вышел новый мажорный релиз модуля для быстрой (де-)сериализации данных. В новой версии введена поддержка v2-протокола, исправлены редкие случаи утечек и краха приложения.

Владимир Леттиев


Обход дерева директорий на Perl и Haskell (часть 1) | Содержание | Интервью с Tokuhiro Matsuno
Нас уже 1393. Больше подписчиков — лучше выпуски!

Комментарии к статье