Меню

Что такое perl и как его найти



Perl — особенный язык программирования

Есть такой язык про­грам­ми­ро­ва­ния — Perl. Если вы заин­те­ре­со­ва­лись инфор­ма­ци­он­ны­ми тех­но­ло­ги­я­ми в эпо­ху Python и JavaScript, вы, веро­ят­но, даже не зна­е­те, что он суще­ству­ет — а он есть и его мно­го. Если пред­ста­вить, что наши ИТ-проекты — это кра­си­вые квар­ти­ры с евро­ре­мон­том, то Perl мож­но пред­ста­вить как ста­рые маги­страль­ные тру­бы, по кото­рым вода при­хо­дит в квартиру.

Ещё Perl назы­ва­ют «скот­чем для интер­не­та», пото­му что он может соеди­нять какие угод­но про­ек­ты, напи­сан­ные на любых языках:

  • веб-сервер и базы данных,
  • интернет-магазины и служ­бы поч­то­вых рассылок,
  • тер­мо­дат­чи­ки и систе­му управ­ле­ния шлю­за­ми в гидроэлектростанции,
  • плат­ную под­пис­ку на сай­те и смс-оповещения,
  • систе­му видео­на­блю­де­ния и город­скую служ­бу быст­ро­го реагирования.

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

✅ Супер­си­ла Perl — в рабо­те с регу­ляр­ны­ми выра­же­ни­я­ми, пол­ная под­держ­ка кото­рых уже встро­е­на в язык. Perl может взять любые дан­ные, обра­бо­тать их по нуж­ным пра­ви­лам и очень быст­ро выдать резуль­тат в удоб­ном для поль­зо­ва­те­ля виде.

❌ Сла­бое место Perl — его слож­ность для нович­ков, если выбрать его сво­им пер­вым язы­ком для изу­че­ния. В нём всё не так про­сто с ООП, слиш­ком воль­ная трак­тов­ка опе­ра­то­ров срав­не­ния и огром­ные ком­би­на­ции спец­сим­во­лов, в кото­рых слож­но разо­брать­ся на стар­те. Поэто­му Perl луч­ше не выби­рать как пер­вый язык, а вер­нуть­ся к нему, когда воз­ник­нет прак­ти­че­ская необходимость.

Если у вас MacOS или Linux — у вас уже есть Perl

Интер­пре­та­тор Perl встро­ен почти во все UNIX-подобные опе­ра­ци­он­ные систе­мы, поэто­му его мож­но исполь­зо­вать в любой момент без уста­нов­ки. Един­ствен­ное, что нуж­но про­ве­рить — что в систем­ных настрой­ках пра­виль­но ука­зан путь к интерпретатору.

Запу­стить код на Perl в UNIX-среде про­сто: доста­точ­но в команд­ной стро­ке напи­сать perl или perl .

Если у вас Windows, то всё слож­нее — нуж­но будет исполь­зо­вать отдель­ный интер­пре­та­тор, напи­сан­ный спе­ци­аль­но для вашей вер­сии Windows. Допол­ни­тель­ный минус — так как это не род­ная сре­да для Perl, часть команд в таком режи­ме сов­ме­сти­мо­сти рабо­тать не будет.

Синтаксис

Син­так­сис Perl похож одно­вре­мен­но на два языка:

  • C, отку­да он взял опе­ра­тор при­сва­и­ва­ния, точ­ку с запя­той, часть типов дан­ных, общую струк­ту­ру команд и гиб­кость при исполь­зо­ва­нии переменных;
  • Bourne Shell — стан­дарт­ная обо­лоч­ка для рабо­ты с команд­ной стро­кой в UNIX-системах — Perl взял отту­да спо­соб постро­е­ния цепо­чек команд и пере­да­чу пара­мет­ров от одно­го опе­ра­то­ра другому.

Пере­мен­ные. Начи­на­ют­ся со спе­ци­аль­ных символов:

$ — чис­ло, стро­ка или ссыл­ка на что-то

$thecode = «При­вет, это жур­нал Код!»

& — функ­ция (в Perl это тоже пере­мен­ная), кото­рая полу­ча­ет аргу­мен­ты и воз­вра­ща­ет значение

Услов­ный опе­ра­тор. Почти такой же как в C:

Ещё есть unless — то же самое, что ЕСЛИ, толь­ко наоборот:

# «выполняется, только если a не равно нулю»

Цик­лы. То же самое, как и везде:

Или мож­но сде­лать как в PHP:

Цик­лы с пред- и посту­сло­ви­ем. Если вы зна­е­те хотя бы Pascal, то вы зна­е­те и цик­лы на Perl:

Опе­ра­то­ры при­сва­и­ва­ния и мате­ма­ти­че­ские опе­ра­то­ры. В этом плане Perl очень похож на любой C-подобный язык и исполь­зу­ет те же самые команды:

Применение на практике

Perl — мощ­ный язык для рабо­ты с тек­стом и любы­ми сим­воль­ны­ми дан­ны­ми. На нём лег­ко писать про­грам­мы, кото­рые авто­ма­ти­зи­ру­ют рабо­ту с ком­пью­те­ром, выпол­ня­ют рутин­ные опе­ра­ции или пре­об­ра­зу­ют одни дан­ные в другие.

perl -i.bak -p -e «s/bJavab/Perl/» resume.txt

заме­нит все упо­ми­на­ния сло­ва Java на сло­во Perl в фай­ле resume.txt, и одно­вре­мен­но сде­ла­ет резерв­ную копию ори­ги­наль­но­го файла.

А эта — уда­ля­ет все повто­ря­ю­щи­е­ся эле­мен­ты массива:

my %cnt; # здесь будет число повторений элементов

Если нуж­но очи­стить файл от всех HTML-команд, мож­но исполь­зо­вать такой код:

# исходим из того, что мы уже получили содержимое HTML-файла и можем с ним работать

Иногда это всё-таки сложно

Ино­гда гото­вый код на Perl слож­но понять и про­чи­тать. Это из-за того, что Perl — очень гиб­кий язык про­грам­ми­ро­ва­ния с пол­ной под­держ­кой регу­ляр­ных выра­же­ний. Что­бы понять, что дела­ют неко­то­рые про­грам­мы и функ­ции, недо­ста­точ­но про­сто посмот­реть на них — нуж­но пони­мать пра­ви­ла пре­об­ра­зо­ва­ния регу­ляр­ных выра­же­ний и знать, как одни коман­ды в регу­ляр­ках вли­я­ют на другие.

Самый попу­ляр­ный при­мер тако­го кода:

echo «test. test. test. » | perl -e ‘$??s:;s:s;;$. s;;=]=>%-<

❌❌❌ Не запус­кай­те этот код на сво­ём ком­пью­те­ре, мы предупредили.

Кажет­ся, что на экране долж­но появить­ся несколь­ко раз сло­во test, а даль­ше perl обра­ба­ты­ва­ет набор каких-то бес­смыс­лен­ных сим­во­лов. Но на самом деле после выпол­не­ния и обра­бот­ки всех регу­ляр­ных выра­же­ний этот код пре­вра­ща­ет­ся в такой:

❌❌❌ И этот код тоже не запус­кай­те — мож­но лег­ко сте­реть все свои дан­ные и повре­дить фай­ло­вую систему.

Не все про­грам­мы на Perl выгля­дят как эта, но без пони­ма­ния того, как рабо­та­ют регу­ляр­ные выра­же­ния, понять код быва­ет очень сложно.

Вывод: регу­ляр­ные выра­же­ния — это сила. Убе­ди­лись в этом в оче­ред­ной раз. Если ещё не убе­ди­лись — почи­тай­те, как с их помо­щью мож­но настро­ить авто­за­ме­ну нецен­зур­ной лек­си­ки на бла­го­при­стой­ные выра­же­ния.

Что пишут на Perl

Если корот­ко: всё, где нуж­но авто­ма­ти­зи­ро­вать рабо­ту ком­пью­те­ра или пре­об­ра­зо­ва­ние дан­ных, мож­но напи­сать на Perl.

Систем­ное про­грам­ми­ро­ва­ние. Сюда мож­но отне­сти рабо­ту с учёт­ны­ми запи­ся­ми поль­зо­ва­те­лей в сетях любой слож­но­сти и кон­фи­гу­ра­ции, адми­ни­стри­ро­ва­ние сетей и поль­зо­ва­те­лей в орга­ни­за­ции. Ещё Perl исполь­зу­ют для авто­ма­ти­за­ции рути­ны — нала­дить резерв­ное копи­ро­ва­ние по рас­пи­са­нию, отправ­ку писем с еже­днев­ны­ми отчё­та­ми, сбор, обра­бот­ку и ана­лиз раз­ных данных.

CGI-скрипты — любые скрип­ты для обме­на дан­ны­ми меж­ду сер­ве­ром и кли­ен­том. Для Perl неваж­но, в каком виде дан­ные выхо­дят и посту­па­ют обрат­но, — он пере­ве­дёт их в нуж­ный вид и отпра­вит из одно­го сер­ви­са в другой.

Объ­еди­не­ние сер­ви­сов или про­грамм. Если у вас есть две про­грам­мы, одна из кото­рых выда­ёт гото­вый резуль­тат в одном фор­ма­те, а дру­гой он тре­бу­ет­ся в дру­гом фор­ма­те, то Perl помо­жет вам их соеди­нить. Рабо­та­ет это так: вы пише­те скрипт, кото­рый запус­ка­ет первую про­грам­му, полу­ча­ет отту­да дан­ные, пре­об­ра­зу­ет их в нуж­ный вид и отправ­ля­ет во вто­рую про­грам­му. В ито­ге всё это рабо­та­ет как одно целое.

Востребован ли Perl сейчас

Perl вос­тре­бо­ван, пото­му что в мире нако­пи­лось мно­го ста­ро­го кода, кото­рый нуж­но под­дер­жи­вать. Дело в том, что про­грам­мы на Perl рабо­та­ют ста­биль­но, пред­ска­зу­е­мо и без сбо­ёв, а с 1987 года их напи­са­но очень много.

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

С чего начать

Почи­тать: учеб­ник по Perl для нович­ков. Пере­вод ино­гда хро­ма­ет, но это луч­ший вари­ант для тех, кто толь­ко начи­на­ет изу­че­ние языка.

Посмот­реть: Perl Tutorial или Great Perl Tutorial For Begginers. Тут уже всё на англий­ском, зато более наглядно.

Бумаж­ная кни­га: Изу­ча­ем Perl Рэн­да­ла Швар­ца и Тома Феник­са. Для тех, кто любит осно­ва­тель­но подой­ти к про­цес­су и не любит читать с экрана.

Источник статьи: http://thecode.media/perl/

Быстрый старт в Perl

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию [Wikipedia] . Появился в 1987 году.

Этот язык программирования богат возможностями по работе с текстом, что определяет основную область его применения — манипуляции с текстом, в частности парсинг.

В этой статье будут описаны шаги по установке среды исполнения Perl, выбору средств разработки и созданию первой программы. В конце этого руководства вы найдете список источников, которые помогут быстро освоить основы Perl, а также изучить язык более углубленно.

Perl — это единственный язык, программы на котором выглядят одинаково до и после RSA-шифрования.

На момент написания этого материала актуальной версией интерпретатора является 5.22.0. Perl 6 готовится к релизу в 2015 году, но еще недостаточно документирован.

25 января – 31 августа, Онлайн, Бе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!

Источник статьи: http://tproger.ru/articles/quick-guide-to-perl/


Adblock
detector