REPL для Perl

в 22:54, , рубрики: perl, REPL, метки: ,

    К сожалению, perl, при всех его  достоинствах,  обладает и  одним   существенным недостатком   — в   отличие от того же
python, интерпретатор   perl не предоставляет из коробки полновесного REPL.  REPL позволяет  вводить команды в пошаговом
режиме, что часто  бывает полезно при выполнении полуавтоматического тестирования.  Или если вы свято уверены, что тот
небольшой  кусочек  кода, который   вы  хотите  набросать  для       решения  сиюминутной   задачи,   больше  вам  никогда не
понадобится.    На  данный момент    в языке    существует   3  основных варианта    реализации   REPL.   Каждый  со своими
достоинствами и недостатками.

Отладчик обыкновенный

То, что мы получаем по команде:

perl ‐d ‐e 1

    По назначению это отладчик, а то что вы будете его использовать как REPL, останется на вашей  совести. Подойдет когда
под рукой ничего нет — данный способ не требует установки каких либо дополнительных модулей. Из  минусов — отсутствие
поддержки   многострочных  команд  и куча   мелких  отличий  от  полноценного perl,  которые проще   прочувствовать самому
нежели сформулировать.

Модуль Devel::REPL.

    Вы  получаете полноценный REPL с фишками  и рюшечками.  Если   дождетесь пока установятся все  зависимости. В случае
успешной установки вы получите все:

   ‐ автодополнение по TAB для ключевых слов, переменных, функций и т.п.

   ‐ ввод многострочных блоков. На многих строчках

   ‐ история команд, сохраняется от сессии к сессии

   ‐ скорость запуска сравнимую с интерпретатором Groovy

   ‐ подсветку текста

Запускается это чудо по команде re.pl.

Модуль Reply.

    Намного меньше  зависимостей, чем у предыдущего  варианта, но ненамного  меньше возможностей. Из ощутимых — вы не
можете вводить многострочные блоки, хотя для этого существует возможность вызова внешнего редактора. Из полезных фич
— есть возможность  перезагрузки   всех  модулей перед выполнением каждой команды, что  при  правильном использовании
ускоряет процесс отладки по сравнению с многократным прогоном через обычный отладчик.

Запускается по команде reply.

Автор: PerlPower

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js