Перловка. Обзор perl-редакторов

Каша сия заваривалась долго — сначала был долгий подбор ингредиентов на просторах супермаркета под названием Сеть, затем — изучение рецептов, затем их тестирование, а затем горшочек: простите, жесткий диск компьютера сказал «капут» и процесс пришлось повторить.

Началось же все с того, что на сайте SoftТерра была опубликована серия моих уроков по программированию для Интернета. В них я помянул тихим словом и нелегкую жизнь программистов, использующих Perl. Дело в том, что изначально для этого языка не было редакторов — ведь он сначала появился для семейства операционных систем Unix, а там давно привыкли делать все через..., в общем, ручками. В лучшем случае приходилось программы набирать в обычных текстовых оболочках, а потом уже использовать их из командной строки. Через время Perl стал пользоваться большой популярностью, и его разновидности появились, наверное, почти для всех операционных систем. Так, для Windows чаще всего используют Perl, написанный ActiveState — но и в нем тоже нет собственного редактора. Многие программисты, привыкшие к инструментальным средам типа Delphi и Visual Basic, решив выучить новый язык, с разочарованием обнаруживали, что отныне им придется пользоваться Notepad.

Но спрос рождает предложение, и, дабы упростить труд программистов на Perl для Windows, многие фирмы стали мало-помалу выпускать для него собственные редакторы. Читатели поделились со мной ссылками на подобные разработки, и, поскольку я и сам пишу на Perl, я решил попробовать все эти программы в деле, а о результате рассказать вам.

Для начала я решил определить для себя, что же мне надо от идеального редактора. Прежде всего, после использования Delphi, Front Page и Co. я привык к тому, что ключевые слова выделяются в тексте различными цветами. Второе необходимое условие — поддержка двух кодировок — KOI8-r и Windows-1251, ведь Perl в первую очередь предназначен для написания CGI-скриптов, а их часто надо закачивать на сайты в предопределенной кодировке (забегая вперед, скажу, что именно с этим условием большинство программ не справилось). Хотелось бы еще иметь хоть какие-то средства отладки, богатую настраиваемую панель инструментов и встроенную помощь по функциям Perl. Вот и все, собственно.

Итак, начнем. Первой специализированной программой, с которой я столкнулся, был Perl Builder (рис. 1). Вот уж есть где глазам разбежаться! Программа включает в себя все или почти все: подсветку, пошаговое выполнение, просмотр значений переменных по мере выполнения программы, закладки, развитую система помощи как по самой программе, так и по функциям языка. Кроме стандартного диалога замены текста в программе есть возможность использования s-выражений. Радует наличие большого количества горячих клавиш. Так, например, чтобы закомментировать выделенный текст, достаточно нажать Ctrl-3, чтобы сдвинуть его вправо — Ctrl-Shift-I. При наведение мыши на фигурную скобку — выделение блока — автоматически подсвечивается парная ей, и быстро переходить между ними можно по Ctrl-] и Ctrl-[ — кто писал большие программы, тот поймет все прелести подобной навигации. Для отладки по умолчанию используются клавиши F7, F8, F4 и F9, но при желании можно поменять их так, чтобы они совпадали с соответствующими клавишами в продуктах от Borland или Microsoft. В общем, возможности среды разработки очень напоминают Delphi — наверное, из-за того, что и сама программа написана в этой среде. Это даже немного мешает, потому что через непродолжительное время так привыкаешь к редактору, что иногда остаешься в недоумении, почему, к примеру, для завершения функции не работает сочетание клавиш Ctrl-пробел:

Perl Builder
Рисунок 1. Perl Builder

При написании CGI-программ результат их выполнения можно просмотреть в обычном текстовом виде, а потом передать данные в браузер, К сожалению, не порддерживается предпросмотр в виде HTML в самом редакторе.

Чрезвычайно полезным оказался таймер, измеряющий время выполнения программы между двумя заданными строками. Радует возможность сохранения файлов в UNIX-формате (когда конец строки кодируется одним символом, а не двумя, как в Windows). Не забыли и новичков — для них в Perl Builder реализован мастер быстрого создания программ по обработке HTML-форм. Впрочем, пригодится он и профессионалам — допустим, для обновления скрипта при изменении содержимого формы.

У Perl Builder есть несколько недостатков. Начну с наименьшего: время от времени он «виснет». Второй недостаток — отсутствие поддержки KOI8-r, но тут бессильны все иностранные программы — ну не знают разработчики о такой кодировке и о том, что она у нас до сих пор используется! А самый большой минус, сводящий все преимущества на нет — заключается в том, что Perl Builder стоит денег, и немалых — более $200, в противном же случае им можно пользоваться только 14 дней.

Следующая программа — русская разработка Collie Perl Shell 1.5 (рис. 2). Первое, что пришло в голову после ее запуска — написано на Delphi или C++ Builder. Те же иконки, элементы управления и проблемы в интерфейсе. Всмотревшись в панель инструменто, я слегка разочаровался, не обнаружив кнопок для пошагового выполнения программы. Еще через минуту выяснилось, что Perl Shell не нашел интерпретатора Perl, а спустя еще пару минут обнаружилось, что написанная программа выполняется в новом окне perl.exe и сразу закрывается. Таким образом, этот редактор можно использовать только для ввода текста, а выполнять программы лучше из командной строки или в браузере при разработке CGI-скрипта.

Collie Perl Shell
Рисунок 2. Collie Perl Shell

Разработчик, очевидно, предпочитал клавиатуре мышь — с помощью горячих клавиш невозможно получить доступ к вынесенным на панель инструментов функциям. Довольными должны остаться ленивые Web-дизайнеры — за несколько кликов мышью в документ вставляется код, печатающий основные HTML-тэги. Например, если надо вывести картинку, то нажатие соответствующей кнопки приведет к появлению кода print ('...')

Чуть лучше, чем в Perl Builder, обстоит дело с кодировками — документ в KOI8-r можно открыть и перекодировать. Правда, после этого он будет сохранен в Win-1251, а к KOI вернуться больше не удастся.

Резюме: ничего особо выдающегося, но все равно намного лучше, нежели использование Notepad, причем бесплатно — по крайней мере я про оплату ни слова не нашел.

Еще одна разработка — DzSoft Perl Editor 5.0 (рис. 3). Глянул я ее мельком — помнится, еще в четвертой версии сильно раздражало обрезание исходников до 6 килобайт в демо-версии, у «пятерки» же придумано еще более драконовское ограничение — длина программы не может превышать 120 строк. Но зато есть в ней вкусная изюминка — Code Explorer, показывающий все используемые переменные и функции программы с указанием строк, в которых они используются Кроме того, можно расставлять линии остановки, на которых выполнение программы прерывается и показываются значения всех переменных. Результат выполнения скрипта можно посмотреть в программе как в текстовом, так и в HTML-виде. Есть пара удобных для разработки CGI-скриптов функций: загрузка разработанной программы из Perl Editor на сайт с заданными правами и передача в заголовке переменных окружения (HTTP_USER_AGENT, HTTP_REFERER и т.д.).

DzSoft Perl Editor
Рисунок 3. DzSoft Perl Editor

Этот разработчик с горячими клавишами явно дружит — чтобы вставить наиболее часто используемую языковую конструкцию, достаточно нажать Ctrl-1 : Ctrl-0 или выбрать нужную «закладку» по Ctrl-пробел. К сожалению, переключение между KOI8-r и Windows-1251 в последней версии опять же отсутствует. В общем, программа весьма достойная, но увы — опять платная.

Следующие программы не являются специализированными средами для разработки Perl-программ. Однако, их можно применять для этой цели.

Программа UltraEdit-32 (рис. 4) изначально предназначена для редактирования и написания текста и содержить все, что требуется для этих целей. Для большинства форматов в редакторе есть своя цветовая расцветка, есть запись макросов: В общем, просто походите по меню и посмотрите, что он может. UltraEdit я рекомендую всем, кому надоел Notepad, и не забывайте, что этот редактор подойдет не только для Perl, но: если, конечно, у вас есть лишние $30.

UltraEdit-32
Рисунок 4. UltraEdit-32

А напоследок напишу про инструментарий, которой я выбрал для личного использования. Как ни странно, это вовсе не специализированная среда для разработки Perl-программ, а связка из: FAR и «штепселя» (plug-in) Colorer. Почему? Да потому, что FAR представляет собой отличный редактор, в котором нет проблем с перекодировками, а Colorer раскрашивает мои программы по ключевым словам — и все это совершенно бесплатно (рис. 5). Colorer, написанный Игорем Русских, меняет цвет текста при редактировании по правилам, которые заданы для примерно сотни различных форматов (Perl, C, txt, html, SQL и др.). Кроме того, он может показывать парные скобки, ошибки, названия подпрограмм с последующим переходом на их определение. При желании пользователь может добавить правила работы со своим форматом или отредактировать существующие.

FAR
Рисунок 5. FAR

FAR же и вовсе в рекламе не нуждается. Для новичков в компьютерном мире скажу лишь одно: Евгений Рошаль — создатель программы — является и автором одного из самых популярных архиваторов RAR. Изначально являясь клоном небезызвестного Norton Commander, FAR является полноценным shell, но за счет модульной структуры он позволяет использовать возможности, недоступные его «пращуру». Однако, по моему опыту, далеко не все пользователи знают о всех возможностях этой программы — это касается и работы со встроенным редактором.

Чтобы удобно было набирать программы на Perl, на мой взгляд, необходимо изменить несколько настроек. Прежде всего, добавить поддержку KOI8-r. Это делается просто: надо только запустить файл KOI8-r.reg, который лежит в каталоге FAR AddonsTablesRussians. Теперь для просмотра или редактирования файла в другой кодировке достаточно нажать Shift-F8. А для изменения кодировки всего файла я поступаю следующим образом: вхожу в его редактирование, добиваюсь его читабельности, выделяю (Ctrl-A), копирую в буфер (Ctrl-Ins), меняю кодировку на нужную и вставляю по Shift-Ins. Все это срабатывает после изменения настроек редактора (F9->Options->Editor settings, рис. 6).

Editor settings
Рисунок 6. Editor settings

Между редактированием и файловой панелью можно просто переключаться комбинацией клавиш Ctrl-Tab или вызовом списка всех открытых файлов по F12.

О других полезных горячих клавиш во время редактирования можно узнать с помощью справки по F1 во время редактирования — не пожалейте пары потраченных минут, потом сэкономите часы! Мало кто знает как поставить закладки или сдвинуть текст в сторону, не говоря уже о возможностях записи клавиатурных макросов.

Несомненно, окончательный выбор редактора для Perl делать вам. Я же пока остаюсь с FAR, с оглядкой на Perl Builder и DzSoft Perl Editor.

Алексей Павленко

Рекомендуем почитать:
Photoshop CS2. Настоящий самоучитель
Основные стратегии повышения эффективности контекстной рекламы
С какими проблемами можно столкнуться при выборе хостинга?


Оставить комментарий: