Перловка
АрхивКаша сия заваривалась долго: сначала был долгий подбор ингредиентов на просторах супермаркета под названием Сеть, затем - изучение рецептов, их тестирование, а затем горшочек… простите, жесткий диск компьютера сказал "капут", и процесс пришлось повторить.
Каша сия заваривалась долго: сначала был долгий подбор ингредиентов на просторах супермаркета под названием Сеть, затем - изучение рецептов, их тестирование, а затем горшочек… простите, жесткий диск компьютера сказал «капут», и процесс пришлось повторить.
Началось же все с того, что на сайте 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, www.solutionsoft.com). Вот уж где есть глазам разбежаться! Программа включает в себя всё или почти всё: подсветку, пошаговое выполнение, просмотр значений переменных по мере выполнения задания, закладки, развитую систему помощи как по самой программе, так и по функциям языка. Кроме стандартного диалога замены текста есть возможность использования s-выражений. Множество горячих клавиш. Например, чтобы закомментировать выделенный текст, достаточно нажать Ctrl+3, чтобы сдвинуть его вправо - Ctrl+Shift+I. При наведении мыши на фигурную скобку (выделение блока) автоматически подсвечивается парная ей, и быстро переходить между ними можно по Ctrl+] и Ctrl+[. Для отладки по умолчанию используются клавиши F7, F8, F4 и F9, но при желании можно поменять их так, чтобы они совпадали с соответствующими клавишами в продуктах от Borland или Microsoft. В общем, возможности среды разработки очень напоминают Delphi - наверное, из-за того, что и сама программа написана в этой среде. Это даже немного мешает, поскольку так быстро привыкаешь к редактору, что порой недоумеваешь, почему, к примеру, для завершения функции не работает сочетание клавиш Ctrl+пробел…
При написании 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-скрипта.
Разработчик, очевидно, предпочитал клавиатуре мышь: с помощью горячих клавиш невозможно получить доступ к вынесенным на панель инструментов функциям. Довольными должны остаться ленивые веб-дизайнеры: за несколько кликов мышью в документ вставляется код, печатающий основные HTML-теги. Например, если надо вывести картинку, то нажатие соответствующей кнопки приведет к появлению кода print (‘<IMG SRC=”” ALT=””>’);
Чуть лучше, чем в 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 и т. д.).
Этот разработчик явно дружит с горячими клавишами: чтобы вставить часто используемую языковую конструкцию, достаточно нажать Ctrl+1, …, Ctrl+0 или выбрать нужную «закладку» по Ctrl+пробел. К сожалению, переключение между KOI8-r и Windows-1251 в последней версии опять же отсутствует. В общем, программа достойная, но увы - опять не бесплатная.
Напоследок напишу про инструментарий, которой я выбрал для себя. Как ни странно, это вовсе не специализированная среда разработки Perl-программ, а связка из… FAR и подключаемых модулей (plug-in) Colorer (рис. 4). Почему? Да потому, что FAR - отличный редактор, в котором нет проблем с перекодировками, а Colorer раскрашивает мои программы по ключевым словам - и все это совершенно бесплатно. Colorer, написанный Игорем Русских, меняет цвет текста при редактировании по правилам, которые заданы примерно для сотни различных форматов (Perl, C, txt, html, SQL и др.). Кроме того, он может показывать парные скобки, ошибки, названия подпрограмм с последующим переходом на их определение. При желании можно добавить правила работы со своим форматом или отредактировать существующие.
FAR же и вовсе в рекламе не нуждается. Будучи клоном небезызвестного Norton Commander, он является полноценным shell, но за счет модульной структуры обладает возможностями, недоступными его «пращуру». Подробнее о настройках редактора FAR для создания программ на Perl вы можете узнать из полной версии статьи на сайте www.softerra.ru.
Разумеется, окончательный выбор редактора для Perl делать вам. Я же пока остаюсь с FAR, с оглядкой на Perl Builder и DzSoft Perl Editor.
[i42044]