Быстрый старт в Perl
Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию [Wikipedia] . Появился в 1987 году.
Этот язык программирования богат возможностями по работе с текстом, что определяет основную область его применения — манипуляции с текстом, в частности парсинг.
В этой статье будут описаны шаги по установке среды исполнения Perl, выбору средств разработки и созданию первой программы. В конце этого руководства вы найдете список источников, которые помогут быстро освоить основы Perl, а также изучить язык более углубленно.
Perl — это единственный язык, программы на котором выглядят одинаково до и после RSA-шифрования.
На момент написания этого материала актуальной версией интерпретатора является 5.22.0. Perl 6 готовится к релизу в 2015 году, но еще недостаточно документирован.
5–30 октября, Онлайн, Беcплатно
Язык программирования Perl крайне не рекомендуется брать в качестве языка для знакомства с программированием. Если вы абсолютный новичок — лучше начните с чего-нибудь менее губительного для вашего неокрепшего сознания. Серьезно, вот что говорил об этом языке Йон Риббенс:
PHP — это маленькое зло, созданное некомпетентными новичками, в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами.
К слову сказать, с PHP начинать тоже не стоит. А теперь ближе к делу.
Среда исполнения
На данный момент Perl официально поддерживается тремя ведущими платформами: Mac OS X, Unix и Windows. На первых двух из них среда исполнения Perl является предустановленной, и ее версию можно узнать через команду perl -v (свежую версию можно скачать здесь), а для операционных систем семейства Windows интерпретатор Perl доступен для скачивания на этой странице. Рекомендуется выбирать ActivePerl (дистрибутив от ActiveState) как самый распространенный.
Интегрированная среда разработки (IDE)
Perl, к сожалению, не очень популярен среди разработчиков сред разработки, поэтому на выбор вам предоставлено лишь небольшое количество специализированных инструментов.
Padre, the Perl IDE
Мультиплатформенная легковесная среда разработки, созданная специально для Perl и удобная для новичков. Помимо традиционных подсветки синтаксиса и автодополнения, имеет также встроенные инструменты рефакторинга. Кстати, Padre сама написана на Perl 5.
Среда разработки, основанная на Eclipse. Подойдет для тех, кто собирается углубиться в Perl. Также поддерживается всеми основными платформами, однако обладает большим функционалом: в частности, поддерживает инспекцию переменных, навигацию по краткой документации и средства отладки (для последнего необходимо скачивать дополнительный модуль).
Инструкция по установке на официальном сайте. Перед установкой вам необходимо иметь на компьютере Eclipse (версии, не ниже 3.6), среду исполнения Java (JRE) и интерпретатор Perl (инструкции по его установке даны выше).
Об установке дополнительных плагинов для EPIC можно почитать здесь.
Текстовые редакторы
Как и в случае с любым языком программирования, конечно же, вам предоставляется огромное множество мультиплатформенных текстовых редакторов на выбор: от предустановленных блокнотов до более удобных средств редактирования исходного кода с подсветкой синтаксиса, автодополнением и т.п. В частности, обратите внимание на:
- KomodoEdit — урезанная версия коммерческой среды разработки Komodo IDE, разрабатываемая ActiveState (той самой, которая поддерживает дистрибутив ActivePerl), располагает функциями автодополнения, подсветки синтаксиса, множественных курсоров и подсказок из документации;
- Vim — текстовый редактор, интерфейс которого может оказаться непривычным для Windows-пользователя; поддерживает подсветку синтаксиса;
- Sublime Text — один из самых инструментов редактирования исходного кода с подсветкой синтаксиса, автодополнением и т.п., функционал которого расширяется множеством существующих плагинов;
- Notepad++ — легковесный текстовый редактор, отличающийся наиболее корректной, после KomodoEdit, подсветкой синтаксиса; функционал может быть расширен плагинами, однако специально для Perl их существует довольно мало.
CodeGround
Кроме того, если вы хотите только попробовать программирование на Perl и не хотите устанавливать дополнительное программное обеспечение на свой компьютер, вы можете воспользоваться сервисом CodeGround, предоставляющим доступ к онлайн-средам разработки с базовым функционалом для большинства языков программирования, в число которых входит и Perl.
Первый «Привет, мир!» на Perl
Традиционно предлагаем начать знакомство с новым языком со всем хорошо известной программы:
Сохраните эту строку в файле hello.pl и запустите только что созданную вами программу командой:
Однако прежде убедитесь, что исполняемые файлы Perl есть среди ваших переменных среды (переменных окружения), а также в том, что вы вызывается perl из папки с исходным файлом hello.pl . В случае успеха, вы увидите ожидаемое «Hello, world!»
Поздравляем, вы начали писать на Perl!
А дальше — в путь…
Отличное англоязычное руководство по языку программирования Perl для быстрого старта вы можете найти на сайте tutorialspoint.com. Помимо этого, существует официальный обучающий ресурс — learn.perl.org.
Среди русскоязычных руководств отметим перевод мультиязычного Учебника Perl. В нем переведены не все главы, однако в качестве основы ресурс вполне пригоден.
Если же вам не по душе изучение посредством чтения, вы можете посмотреть видео-уроки на YouTube в составе следующих плейлистов:
Если вам удастся найти хорошие видео-уроки по Perl на русском языке, обязательно напишите нам об этом в комментарии к этой статье или на почту chief@tproger.ru.
Естественно, вам не обойтись без официальной документации. Скачать оффлайн-версию в HTML и PDF формате можно на этой странице.
Среди книг для начала и продолжения обучения отметим:
- «Изучаем Perl», Рэндал Л. Шварц, Том Феникс, Брайан Д Фой (июнь 2011);
- «Modern Perl», chromatic (2014).
Список рекомендуемых к прочтению книг вы можете найти также здесь.
Спасибо за внимание и успехов в изучении Perl!
IDE для Perl в 2018 году
Что хочется от IDE:
- Семантическая подсветка синтаксиса (обычная есть почти везде).
- Быстрая навигация по дереву проекта.
- Быстрая навигация по структуре проекта (по классам, модулям, и т.д.).
- Быстрая навигация по функциям внутри скрипта или модуля.
- Возможность прикрутить статический анализ и внешние скрипты.
- Автодополнение.
Сейчас пользуюсь Geany, раньше использовал Emacs, jEdit, и ещё в 2012 году Eclipse + EPIC, но для него нужно было гигабайты ОЗУ, тогда это была проблема, сейчас имеется 16 Гб ОЗУ, и можно попробовать опять.
Но прежде, чем опять экспериментировать, хотелось бы услышать ваши мнения.
Сам-то я в vim’е всё пишу, но уверен и в emacs можно продуктивно работать. Осиль один из двух настоящих текстовых редакторов и всё в них делай.
Одинаково удобно с любым языком программирования работать. В сочетании со screen (tmux если называешь кексы маффинами) вообще убийственное окружение получается. Один раз заморочишься и до конца жизни будешь силён и смел.
На утубе горы видео на тему «vim/emacs for $lang developers»
Действительно. Нужно чаще пользоваться поиском непосредственно на ЛОРе.
Atom c охапкой перловых плагинов.
… в топку, чтобы ярче горело.
Пишу в vim. Отладчик и навигатор по коду использую в Perl-плагине для IDEA, пока ничего лучше не нашел.
Кстати, никого не напрягает, что в виме из коробки индентация сломана? Словно намекают, что с перлом натрахаешься вдоволь. Мне после пары затяжек вимля помогло только au FileType perl let b:indent_use_syntax=0
Тут говорят в IntelliJ IDEA уже завезли, правда для Perl 6 вроде: https://commaide.com/
Так что шестой взлетает?
Оставайся на Geany.
Как-то отвечал на этот вопрос здесь. Люди со стороны не до конца понимают что такое Perl6. Жизнь в перловселенной кипит. Появилось интересное движение Perl11. Будущее выглядит радужно. В хорошем смысле слова.
Ну вроде бы автор не забил, но честно говоря пока не очень понятно, зачем оно и чем это лучше чем всё остальное.
Кстати, никого не напрягает, что в виме из коробки индентация сломана?
Я сам пользуюсь emacs, но на мой взгляд, vim или emacs в качестве IDE удобны только для небольших или хорошо знакомых проектов.
Я работаю с несколькими десятками плагинов, которые в своих недрах имеют скрипты и модули на Perl, размерами в сотни, а иногда более тысячи строк. Есть несколько типов плагинов, каждый со своей структурой и особенностями. Мне удобнее ориентироваться в коде, когда сбоку визуально видно дерево проекта, список функций в модулях, быстрый переход к нужной функции или объявлению переменной, есть табы, по которым можно быстро переключаться.
Я не видел настроенных emacs или vim с такими возможностями, хотя и не утверждаю, что это не возможно.
Вместо того, чтобы держать в голове доскональную структуру каждого плагина, скрипта или модуля, и вспоминать её, когда пытаешься найти нужный участок кода, когда имея перед собой «приборную доску» проекта, можно сразу сориентироваться, мельком лишь взглянув на вспомогательные окна рядом с открытым редактором кода. Нюансы сами потом запоминаются по мере ознакомления и работы с новым плагином.
Плагины не в счёт. Ты знаешь что проект на Perl? Это файлы на несколько тысяч строк, каждая из которых отдельный интернет-магазин. В сублиме разнавигировать этот ад невозможно. Твой комментарий по-детски наивен, ты не знаешь ни vim ни emacs.
Совершенно не хочу тебя огорчить и не призываю усердно учить один из двух существующих текстовых редакторов. Достаточно чтоб ты знал, что есть инструментарий который круче чем то что ты используешь на порядки. Ты словно камнем отбиваешь куриную грудку на люке танка, даже не подозревая что можешь сесть внутрь и сровнять Вашингтон с землёй.
Я тут мимо проходил и:
Достаточно чтоб ты знал, что есть инструментарий который круче чем то что ты используешь на порядки. Ты словно камнем отбиваешь куриную грудку на люке танка, даже не подозревая что можешь сесть внутрь и сровнять Вашингтон с землёй.
Хорошо сказал. Вдохновляет. Но не решает проблему выбора Vim или Emacs. Пожалуй, останусь на Sublime 🙂
Непатриотичненько получается, стоило сразу выбирать Vim и равнять с землёй всё.
файлы на несколько тысяч строк, каждая из которых отдельный интернет-магазин
Узнаю старый добрый говно-perl.
на люке танка
сровнять Вашингтон с землёй
А вот этих не узнаю, скатились.
Небольшое демо-видео самого процесса работы в реальном времени было бы отличной иллюстрацией, насколько в vim/emacs удобнее ориентироваться и работать в большом проекте.
На YouTube все видео про emacs, которые я видел, — это примеры настройки или примеры работы на небольших проектах, но ничего подобного, описанного тобой, я не видел.
Буду благодарен, если ты сделаешь такое видео или скинешь ссылку на похожее. Чтобы был материал, с чем сравнивать мой текущий рабочий процесс. Если всё так классно, как ты описал, то это должно пригодиться и многим другим людям.
Perl Download
Getting started quickly
Perl runs on over 100 platforms!
We recommend that you always run the latest stable version, currently 5.32.0. If you’re running a version older than 5.8.3, you may find that the latest version of CPAN modules will not work.
Unix/Linux
macOS
Windows
Running Linux, Solaris, AIX, HPUX, or any other UNIX-like system?
Binaries
You probably already have perl installed. Type perl -v on a command line to find out which version.
ActiveState Perl has binary distributions of Perl for many platforms. This is the simplest way to install the latest version of Perl.
Source
Consider looking at App::perlbrew to help compile and manage Perl from source.
Find out more about the source code, development versions as well as current releases of the Perl source code.
Mac OS X
Binaries
Mac OS X already has Perl installed. Open a Terminal application (in the Utilities folder of your Applications folder) and run perl -v to find out which version.
ActiveState Perl has binary distributions of Perl for Mac OS X. This is the simplest way to install the latest version of Perl.
Source
Consider looking at App::perlbrew to help compile and manage Perl from source.
Find out more about the source code, development versions as well as current releases of the Perl source code.
Windows
Windows does not have Perl installed by default.
Binaries
ActiveState Perl ActiveState offers both a free community version and a commercially supported binary distribution of Perl for Win32 and Perl for Win64.
Strawberry Perl: A 100% Open Source Perl for Windows that is exactly the same as Perl everywhere else; this includes using modules from CPAN, without the need for binary packages. Help is available from other Windows Perl developers on the #win32 irc channel on irc.perl.org (see website for access through a browser).
Source
Consider looking at App::perlbrew to help compile and manage Perl from source.
Find out more about the source code, development versions as well as current releases of the Perl source code.