Библиотека Интернет Индустрии I2R.ru |
|||
|
ПерловкаКаша сия заваривалась долго - сначала был долгий подбор ингредиентов на просторах супермаркета под названием Сеть, затем - изучение рецептов, затем их тестирование, а затем горшочек: простите, жесткий диск компьютера сказал "капут" и процесс пришлось повторить. Началось же все с того, что на сайте 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-пробел:
При написании 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-скрипта.
Разработчик, очевидно, предпочитал клавиатуре мышь - с помощью горячих клавиш невозможно получить доступ к вынесенным на панель инструментов функциям. Довольными должны остаться ленивые 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 и т.д.).
Этот разработчик с горячими клавишами явно дружит - чтобы вставить наиболее часто используемую языковую конструкцию, достаточно нажать Ctrl-1 : Ctrl-0 или выбрать нужную "закладку" по Ctrl-пробел. К сожалению, переключение между KOI8-r и Windows-1251 в последней версии опять же отсутствует. В общем, программа весьма достойная, но увы - опять платная. Надеюсь, что автор за статью зарегистрирует меня :) Следующие программы не являются специализированными средами для разработки Perl-программ. Однако, их можно применять для этой цели. Программа UltraEdit-32 (рис. 4) изначально предназначена для редактирования и написания текста и содержить все, что требуется для этих целей. Для большинства форматов в редакторе есть своя цветовая расцветка, есть запись макросов: В общем, просто походите по меню и посмотрите, что он может. UltraEdit я рекомендую всем, кому надоел Notepad, и не забывайте, что этот редактор подойдет не только для Perl, но: если, конечно, у вас есть лишние $30.
А напоследок напишу про инструментарий, которой я выбрал для личного использования. Как ни странно, это вовсе не специализированная среда для разработки Perl-программ, а связка из: FAR и "штепселя" (plug-in) Colorer. Почему? Да потому, что FAR представляет собой отличный редактор, в котором нет проблем с перекодировками, а Colorer раскрашивает мои программы по ключевым словам - и все это совершенно бесплатно (рис. 5). Colorer, написанный Игорем Русских, меняет цвет текста при редактировании по правилам, которые заданы для примерно сотни различных форматов (Perl, C, txt, html, SQL и др.). Кроме того, он может показывать парные скобки, ошибки, названия подпрограмм с последующим переходом на их определение. При желании пользователь может добавить правила работы со своим форматом или отредактировать существующие.
FAR же и вовсе в рекламе не нуждается. Для новичков в компьютерном мире скажу лишь одно: Евгений Рошаль - создатель программы - является и автором одного из самых популярных архиваторов RAR. Изначально являясь клоном небезызвестного Чтобы удобно было набирать программы на Perl, на мой взгляд, необходимо изменить несколько настроек. Прежде всего, добавить поддержку KOI8-r. Это делается просто: надо только запустить файл KOI8-r.reg, который лежит в каталоге FAR Addons\Tables\Russians. Теперь для просмотра или редактирования файла в другой кодировке достаточно нажать Shift-F8. А для изменения кодировки всего файла я поступаю следующим образом: вхожу в его редактирование, добиваюсь его читабельности, выделяю (Ctrl-A), копирую в буфер (Ctrl-Ins), меняю кодировку на нужную и вставляю по Shift-Ins. Все это срабатывает после изменения настроек редактора (F9->Options->Editor settings, рис. 6).
Между редактированием и файловой панелью можно просто переключаться комбинацией клавиш Ctrl-Tab или вызовом списка всех открытых файлов по F12. О других полезных горячих клавиш во время редактирования можно узнать с помощью справки по F1 во время редактирования - не пожалейте пары потраченных минут, потом сэкономите часы! Мало кто знает как поставить закладки или сдвинуть текст в сторону, не говоря уже о возможностях записи клавиатурных макросов. Несомненно, окончательный выбор редактора для Perl делать вам. Я же пока остаюсь с FAR, с оглядкой на Perl Builder и DzSoft Perl Editor. |
|
2000-2008 г. Все авторские права соблюдены. |
|