Рубрика «Perl5»

Perl 5: как в макросах ошибки прятались - 1

Для пополнения списка языков программирования с открытым исходным кодом, которые были проверены с помощью статического анализатора кода PVS-Studio, был выбран Perl 5. Эта статья о найденных ошибках и трудностях просмотра результатов анализа. Количество макросов в коде столь велико, что создаётся ощущение, что код написан не на языке Си, а на каком-то его странном диалекте. Несмотря на затруднения при просмотре кода, удалось насобирать интересные проблемы, о которых и будет рассказано в этой статье.

Введение

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения (Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages). Разработка Perl 5 была начата в 1994 году. Спустя пару десятилетий, код на языке Си с многочисленными макросами вызывает нервозность у современных программистов.

Исходный код Perl 5 был взят из официального репозитория (ветка blead). Для проверки проекта использовался статический анализатор кода PVS-Studio. Анализ проводился на операционной системе Linux, но анализатор также доступен для Windows и macOS.

Просмотр результатов анализа был не простой задачей. Дело в том, что анализатор проверяет препроцессированные .i файлы, в которых уже раскрыты все директивы препроцессора, а выдаёт предупреждения на файлы с исходным кодом. Это правильное поведение анализатора, ничего менять не нужно, но много предупреждений выдаётся на макросы! А за макросами скрывается нечитабельный код.
Читать полностью »

Вышла версия 1.5 Perl плагина для IntelliJ IDEA - 1

Вышел знаковый для меня релиз плагина. Год назад я начал работу над ним и иногда не верится что все это было сделано. В репозиторий прошло более двух тысяч коммитов.

Данная версия привносит поддержку POD, хелперов для Mojolicious, контекстную подсказку и много приятных мелочей.
Читать полностью »

Вышла версия 1.4 Perl плагина для IntelliJ IDEA - 1

Новая версия Perl плагина для продуктов JetBrains стала доступна для скачивания из официального репозитория. Главные фичи: оптимизация и поддержка HTML::Mason.

А теперь, немного подробнее:
Читать полностью »

Вышла версия 1.3 Perl5 плагина для IntelliJ IDEA - 1

Прошло почти два месяца с выхода последней версии плагина и некоторые даже стали интересоваться, не забросил ли я это дело. Нет, не забросил. Разработка идет полным ходом и вот вышла новая версия.

В этом номере: совместимость с 14 и 15 IDEA (и остальными продуктами соответствующих версий), поддержка Switch, Class::Accessor и Mason2.

А теперь, немного подробнее:
Читать полностью »