Выпуск 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 0.88
В новой версии YAML возвращена совместимость с Perl 5.8.
- ack 2.12
Обновлённая версия утилиты для поиска ack исправляет проблему с безопасностью. При использовании опций --pager, --regex и --output ack больше не загружает ackrc-файлы, которые находятся в каталогах проектов, где происходит поиск.
- Data::Validate::IP 0.22
Новый релиз модуля для проверки валидности IP-адресов содержит обновлённую документацию. Также обновлена информация о тестовых сетях и зарезервированных сетях IPv6.
- Socket6 0.25
После пятилетнего перерыва обновился модуль Socket6, который добавляет константы и функции для работы с IPv6. Исправлены множество багов, долгое время висевших без какой-либо реакции со стороны автора. Хотя на данный момент IPv6 отлично работает и в модуле Socket, а также в IO::Socket::IP, данное обновление очень важно хотя бы потому, что модуль с таким именем должен, по меньшей мере, быть рабочим, чтобы избежать истерик, что в Perl не работает IPv6, а значит он мёртв
- Thrall 0.0200
Обновился PSGI-веб-сервер Thrall, использующий нити для обработки входящих запросов. В новом релизе появилась поддержка HTTP 1.1, IPv6, SSL.
- Markdent 0.23
Модуль Markdent, предназначенный для обработки markdown-текстов парсером, генерирующим события. Помимо привычного преобразования в HTML-формат возможно назначение обработчиков на какие-либо события (найдена ссылка, выделение, заголовок и т.д.) для специфической обработки текста. В новой версии добавлена поддержка «ленивых» и «пьяных» списков.
- XML::SAX::Writer 0.54
В новом релизе XML::SAX::Writer исправлена ошибка при экранизации символов создаваемого XML-документа. В случае если использовалось несколько объектов XML::SAX::Writer с разным регулярным выражением для экранирования, самое первое из них кешировалось и использовалось для всех объектов.
- ObjectDB 3.03
В декабре на CPAN появилась новая мажорная версия легковесного ORM ObjectDB. Многие идеи взяты из проекта Rose::DB::Object, но основной упор сделан на простоту и прямолинейность.
- Dancer2 0.11
Новый релиз веб-фреймворка Dancer2 включает несколько важных исправлений в коде и документации. Переработана реализация ключевых слов halt, redirect и forward для немедленного возврата их роута или хука. Чтоб не загрязнять @INC, теперь запускаемый скрипт ответственен за подключение каталога ./lib, если в этом есть необходимость.
- HTML::FormFu 1.00
Вышел мажорный релиз популярного фреймворка для создания и проверки HTML-форм с внушительным списком изменений и исправлений.
- Test::Continuous 0.74
Обновлён модуль Test::Continuos для выполнения тестирования в процессе разработки. В новой версии исправлена проблема с Perl 5.18.
- Sereal 2.010
Вышел новый мажорный релиз модуля для быстрой (де-)сериализации данных. В новой версии введена поддержка v2-протокола, исправлены редкие случаи утечек и краха приложения.
← Обход дерева директорий на Perl и Haskell (часть 1) | Содержание | Интервью с Tokuhiro Matsuno →
