рубрика Perl

Новая стабильная версия perl 5.18.0

19.05.2013г. // Рубрики: Новости, Perl
Анонсирована и доступна к загрузке стабильная версия perl 5.18.0. Из новых особенностей, можно отметить возврат к проблеме "Hash Collision Complexity Attack": усовершенствован механизм рандомизации хешей - порядок вывода ключей теперь будет отличаться от запуска к запуску. Полный список изменений доступен по-адресу: http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod.

Pragmatic Perl - третий выпуск

04.05.2013г. // Рубрики: Новости, Perl
С первомайскими праздниками слегка прозевал очередной выпуск сетевого издания "Pragmatic Perl". Даже не прозевал, а просто из-за разъездов никак не удавалось отметить в блоге это событие.
Собственно, содержание:
  • От редактора
  • Три правила тестирования кода, написанного с использованием ORM-фреймворка
  • Pinto — собственный CPAN из коробки
  • Введение в Perl XS
  • Введение в разработку web-приложений на PSGI/Plack. Часть 2.
  • Обзор CPAN за апрель 2013 г.
  • Интервью с Sawyer X
  • Perl Quiz
  • Perl-вакансии
Наибольший интерес для меня в этом номере, пожалуй, статья про PerlXS, как раз планирую в ближайшее время поэкспериментировать со стыковкой модулей на фортране-77 и перла. В свое время плотно общался с этим языком и осталось стойкое ощущение, что кое-какая сложная математика работает там существенно быстрее, чем на си. Вот это и буду проверять.
Последний пункт номера, про вакансии - здорово придумали, только ещё границы зарплат в предложениях работодателей озвучивали бы, а то скучновато..

Русскоязычный Perl Tutorial

10.04.2013г. // Рубрики: Новости, Perl
Gabor Szabo
В сети, благодаря Alex Shatlovsky, появился русскоязычный перевод Perl Tutorial от Gabor Szabo. Работа по переводу, видимо, только началась, но уже видно, что качество неплохое. Да и оригинальный материал хорош.
Хороший признак, что после долгих лет затишья на Perl-фронте, стали появляться подобные начинания. Особенно это важно для привлечения молодых рекрутов в  Perl-лагерь. Короче, будем благожелательно следить за развитием этого проекта.

Редактирование командной строки в отладчике Perl

09.04.2013г. // Рубрики: Рецепты, Perl
На свежепоставленном Debian/Ubuntu при запуске перл-отладчика (а также установщика модулей CPAN) проскакивает подобное сообщение:
$ sudo cpan
Terminal does not support AddHistory.
...............
Что это означает - быстро проясняется при попытке использовать "стрелочки" в командной строке в этой оболочке. Вместо перемещения курсора вылезают "кракозябры".
Долго рассуждать не буду, лечится это дело просто. Вот рецепт:
sudo apt-get install libterm-readline-gnu-perlТакая вот очередная зарубка на память.

Pragmatic Perl - второй выпуск

02.04.2013г. // Рубрики: Новости, Perl
runecamel
Сегодня на прилавках в сети появился новый выпуск сетевого журнала Pragmatic Perl, что несказанно радует в принципе. По крайней мере, авторы не сломались на первом номере, и редактор во вступительном слове к номеру горделиво поудивлялся интересу к этому изданию. Ещё бы. Если журнал будет выходить регулярно и не "для отмазки" - то конкурентов в рунете ему просто нет. А появление более трехсот подписчиков-перловиков обнадёживает кстати.
Анонс номера:
  • От редактора
  • Преобразование XML в Perl-структуры с помощью XML::Simple
  • Удобное логирование с Log::Any
  • Debug-fu в стиле Perl
  • Введение в разработку web-приложений на PSGI/Plack
  • Обзор CPAN за март 2013 г.
  • Интервью с Alexis Sukrieh
  • Perl Quiz

Кстати, касаемо XML::Simple - я с удовольствием и на каждом шагу использую этот модуль для хешей любой сложности и не вижу причины, почему я иногда не должен его применять. Ну, это к слову.

Буду ждать с нетерпением продолжения банкета.

Новая стабильная версия perl 5.16.3

18.03.2013г. // Рубрики: Новости, Perl
Анонсирована и доступна к загрузке новая стабильная версия perl 5.16.3. Изменений не так много: ядро не затронуто, пофиксена утечка памяти в Encode.xs, закрыт баг с возможным отказом от обслуживания (CVE-2013-1667), устранена ошибка чтения/записи сверхдлинных строк. Полный список изменений доступен здесь: http://search.cpan.org/dist/perl-5.16.3/pod/perldelta.pod.
Следующая стабильная версия 5.18.0 ожидается к выходу в мае 2013г.

Альтернативный драйвер для MongoDB

06.03.2013г. // Рубрики: Новости, web, Perl
Разбирая старые почтовые рассылки, наткнулся на любопытный проект Mango. Автор анонсировал появление альфа-релиза своего неблокирующего драйвера для MongoDB, заточенного под Mojolicious. Решил оставить себе эту заметку на будущее, поскольку монго находится в сфере моих интересов, хоть и пользуюсь пока штатным драйвером.
Что отмечается?
Главное, ссылка на то, что официальный драйвер до сих пор небезопасно пишет в базу, ну и еще какие-то недостатки, которые по мнению автора и так все знают. Особенностями предложенного драйвера являются:
  • неблокирующий гибридный API (clean blocking and non-blocking hybrid API)
  • все операции безопасны по-умолчанию
  • не требуется компилятор C  (уж не знаю, достоинство ли это)
  • оптимизация под Mojolicious
Примеры прилагаются с исходниками. В общем, когда я созрею до использования Mango - к тому времени Манго тоже как раз созреет.

Появление Perl-издания на русском языке

05.03.2013г. // Рубрики: Новости, web, Perl
Порылся в памяти - я не смог припомнить серьёзной попытки создать сетевой журнал, посвящённый Perl, на русском языке. И вот, встречайте - Pragmatic Perl. Будем верить, что энтузиазм авторов не заглохнет в круговерти других забот.  Читать полностью >

Class::Singleton - траблы в mod_perl

26.02.2013г. // Рубрики: Рецепты, Perl
Во время отладки сайта под mod_perl2, столкнулся с воистину мистичным глюком. Мне там потребовались небольшие проверки текущей timezone, ну и манипуляции по-необходимости, использовался пакет DateTime. Сообщение в логе загнало меня в ступор
Invalid version format (non-numeric data) at /usr/local/share/perl/5.10.1/DateTime/TimeZone/Europe/Moscow
BEGIN failed--compilation aborted at /usr/local/share/perl/5.10.1/DateTime/TimeZone/Europe/Moscow.pm line 17.
....
Attempt to reload DateTime/TimeZone/Europe/Moscow.pm aborted.
Справедливости ради, это сообщение не только для Moscow.pm выскакивало. В общем, потребовались глубокие разборки и внимательный просмотр исходных текстов модуля DateTime. Здесь опущу описание душевных мук, в процессе расследования подозрение пало на Class::Singleton (версия 1.4 от 28 Sep 2007).
Итак, сухой остаток: открывая исходник, видим в первых рядах следующую строку:
our $VERSION = 1.4;Ищем на своем компе, где модуль прописался (у меня, к примеру, /usr/local/share/perl/5.10.1/Class/Singleton.pm), открываем его в текстовом редакторе, и аналогичную строку заменяем на
our $VERSION = '1.4';т.е. просто заключаем в одинарные кавычки. И (о, чудо!) - глюк немедленно пропал.
Самое забавное во всей истории - из трех различных серверов, ошибка возникала лишь на одном (который Debian 6 под Xen, если интересно). Вероятно, вследствие набора случайных факторов.
Из этой занимательной истории возникает полезный вывод: всегда заключайте версию модуля в кавычки. Подальше от греха..
«    »

Рубрики