Язык программирования perl примеры

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

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

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

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

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

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

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

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

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

Синтаксис

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

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

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

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

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

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

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

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

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

# вывести строку ‘0 1 2 3 4’

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

# вывести строку ‘0 1 2 3 4’

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

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

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

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

Напри­мер, эта команда

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

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

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

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

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

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

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

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

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

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

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

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

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

Что пишут на Perl

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

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

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

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

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

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

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

С чего начать

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

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

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

Источник

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

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

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

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

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

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

Язык программирования Perl крайне не рекомендуется брать в качестве языка для знакомства с программированием. Если вы абсолютный новичок — лучше начните с чего-нибудь менее губительного для вашего неокрепшего сознания. Серьезно, вот что говорил об этом языке Йон Риббенс:

PHP — это маленькое зло, созданное некомпетентными новичками, в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами.

К слову сказать, с PHP начинать тоже не стоит. А теперь ближе к делу.

Среда исполнения

Интегрированная среда разработки (IDE)

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

Padre, the Perl IDE

Мультиплатформенная легковесная среда разработки, созданная специально для Perl и удобная для новичков. Помимо традиционных подсветки синтаксиса и автодополнения, имеет также встроенные инструменты рефакторинга. Кстати, Padre сама написана на Perl 5.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Среда разработки, основанная на Eclipse. Подойдет для тех, кто собирается углубиться в Perl. Также поддерживается всеми основными платформами, однако обладает большим функционалом: в частности, поддерживает инспекцию переменных, навигацию по краткой документации и средства отладки (для последнего необходимо скачивать дополнительный модуль).

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Инструкция по установке на официальном сайте. Перед установкой вам необходимо иметь на компьютере Eclipse (версии, не ниже 3.6), среду исполнения Java (JRE) и интерпретатор Perl (инструкции по его установке даны выше).

Об установке дополнительных плагинов для EPIC можно почитать здесь.

Текстовые редакторы

Как и в случае с любым языком программирования, конечно же, вам предоставляется огромное множество мультиплатформенных текстовых редакторов на выбор: от предустановленных блокнотов до более удобных средств редактирования исходного кода с подсветкой синтаксиса, автодополнением и т.п. В частности, обратите внимание на:

CodeGround

Кроме того, если вы хотите только попробовать программирование на Perl и не хотите устанавливать дополнительное программное обеспечение на свой компьютер, вы можете воспользоваться сервисом CodeGround, предоставляющим доступ к онлайн-средам разработки с базовым функционалом для большинства языков программирования, в число которых входит и Perl.

Первый «Привет, мир!» на Perl

Традиционно предлагаем начать знакомство с новым языком со всем хорошо известной программы:

Сохраните эту строку в файле hello.pl и запустите только что созданную вами программу командой:

Поздравляем, вы начали писать на Perl!

А дальше — в путь…

Отличное англоязычное руководство по языку программирования Perl для быстрого старта вы можете найти на сайте tutorialspoint.com. Помимо этого, существует официальный обучающий ресурс — learn.perl.org.

Среди русскоязычных руководств отметим перевод мультиязычного Учебника Perl. В нем переведены не все главы, однако в качестве основы ресурс вполне пригоден.

Если же вам не по душе изучение посредством чтения, вы можете посмотреть видео-уроки на YouTube в составе следующих плейлистов:

Если вам удастся найти хорошие видео-уроки по Perl на русском языке, обязательно напишите нам об этом в комментарии к этой статье или на почту chief@tproger.ru.

Естественно, вам не обойтись без официальной документации. Скачать оффлайн-версию в HTML и PDF формате можно на этой странице.

Среди книг для начала и продолжения обучения отметим:

Список рекомендуемых к прочтению книг вы можете найти также здесь.

Спасибо за внимание и успехов в изучении Perl!

Источник

Функциональное программирование на Perl в примерах

В данной статье будет рассмотрено функциональное программирование на примере скрипта поиска битых ссылок с использованием AnyEvent::HTTP. Будут рассмотрены следующие темы:

Анонимные подпрограммы

Анонимная подпрограмма объявляется также, как и обычная, но между ключевым словом sub и открывающей скобкой блока программного кода нет имени. Кроме того, такая форма записи расценивается как часть выражения, поэтому объявление анонимной подпрограммы должно завершаться точкой с запятой или иным разделителем выражения, как и в большинстве случаев:

Например, реализуем подпрограмму, утраивающую переданное ей значение:

Основное преимущество анонимных подпрограмм — использование «кода как данных». Другими словами, мы сохраняем код в переменную (например, передаем в функцию в случае колбеков) для дальнейшего исполнения.

Пример использования рекурсии в сочетании с колбеками будет показан ниже при рассмотрении задачи поиска битых ссылок.

Замыкания (Closures)

Как сказано в википедии

Замыкание — это функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся ее параметрами.

По сути, замыкание — это аналог класса в ООП: предоставляет функциональность и данные связанные и упакованные вместе. Рассмотрим пример замыкания в Perl и класса в C++:

Проведем анализ приведенного кода:

объявление приватной переменной:

объявляем переменную multiplier типа int после маркера доступа private ;

инициализирование приватной переменной:

при создании переменной инициализируем переданным значением;

перегружаем конструктор, чтобы он принимал число и в списке инициализации инициализируем переменную multiplier ;

создание подпрограммы, перемножающей переданное ей значение с ранее инициализированной переменной:

Для использования замыкания в Perl и класса в C++, их нужно определить, т.е. создать объект:

Аналогом функции-замыкания из примера на Perl, в C++ является использование лямбд, как показано в коде. В примере на Perl функция-замыкание, передаваемая в функцию, также называется колбеком, или функцией обратного вызова.

Функции обратного вызова (Callback)

По сути, функция обратного вызова является аналогом полиморфизма функций, а именно, позволяет создавать функции более общего назначения вместо того, чтобы создавать серию функций, одинаковых по структуре, но отличающихся лишь в отдельных местах исполняемыми подзадачами. Рассмотрим пример задачи чтения из файла и записи в файл. Для этого с помощью Perl создадим две функции reader и writer (за основу был взят пример с презентации Михаила Озерова Ленивые итераторы для разбора разнородных данных), а с помощью C++ мы создадим классы Reader_base, Writer_base, ReaderWriter.

Компилировать следующим образом:

Проведем анализ кода:

работа с созданными функциями в Perl и классами в C++:

Далее рассмотрим комплексную практическую задачу поиска битых ссылок с помощью AnyEvent::HTTP, в котором будут использоваться вышеописанные темы — анонимные подпрограммы, замыкания и функции обратного вызова.

Задача поиска битых ссылок

Для того, чтобы решить задачу поиска битых ссылок (ссылок с кодами ответа 4xx и 5xx), необходимо понять, как реализовать обход сайта. По сути, сайт представляет из себя граф ссылок, т.е. урлы могут ссылаться как на внешние страницы, так и на внутренние. Для обхода сайта будем использовать следующий алгоритм:

Затем создаем функцию scan_website, в которую передаем ограничение на максимальное количество урлов на скачивание и колбек.

Далее создаем анонимную функцию и выполняем её. Запись вида

или удаления циклической ссылки:

Структура хэша %urls следующая:

В функции process_page мы сохраняем полученный хэш и колбек.

После чего мы в цикле проходимся по хэшу урлов, получая пару (parent_url => current_urls) и далее проходимся по списку текущих урлов (current_urls)

Прежде, чем приступить к рассмотрению получения данных со страниц сделаем небольшое отступление. Базовый алгоритм парсинга страницы и получения с нее урлов предпоолагает один HTTP-метод GET, вне зависимости, внутренний этот урл или внешний. В данной реализации было использовано два вызова HEAD и GET для уменьшения нагрузки на сервера следующим образом:

Итак, сначала мы выполняем функцию http_head модуля AnyEvent::HTTP, передавая ему текущий урл, параметры запроса и колбек.

В колбеке мы получаем заголовки (HTTP headers)

из которых получаем реальный урл (урл после редиректов)

Далее, если произошла ошибка (коды статуса 4xx и 5xx), то выводим ошибку в лог и сохраняем заголовок в хэш для дальнейшего использования

Иначе, если сайт внутренний и это веб-страница,

В колбеке функции http_get получаем заголовки и тело страницы, декодируем страницу.

С помощью модуля Web::Query выполняем парсинг страницы и получение урлов.

На каждой итерации метода each мы получаем в колбеке ссылку

и преобразовываем ее

Далее мы проверяем — если в графе нет такой ссылки

то получаем корневой домен ссылки (либо ставим его в ‘fails’)

т.е. в данном случае, и родительской, и текущей страницей была стартовая страница (в остальных случаях данные страницы различаются).

Конструирование данной структуры происходит следующим образом — если сайт внутренний, то мы создаем структуру

иначе, если сайт внутренний, то структуру

Если мы не попали ни в один из вариантов (ошибка или парсинг внутренней страницы), т.е. сайт внешний и без ошибок, то выполняем колбек

Иначе, если есть урлы для проверки,

то рекурсивно вызываем анонимную подпрограмму

В качестве бонуса, в скрипте реализован вывод графа с помощью GraphViz в разные форматы — svg, png и т.д. Примеры запуска скрипта:

Также имется возможность управлять выводом логов с помощью переменной окружения PERL_ANYEVENT_VERBOSE, а именно

Заключение

В данной статье было рассмотрено функциональное программирование на Perl, в частности, были рассмотрены такие темы — анонимные подпрограммы, замыкания и функции обратного вызова. Было проведено сравнение замыканий в Perl и классов в C++, функций обратного вызова (callbacks) в Perl и перегрузку функций-членов в C++. Также был расмотрен практический пример поиска битых ссылок с использованием AnyEvent::HTTP, в котором были использованы все вышеописанные возможности функционального программирования.

Источник

Учебник Perl

Что такое Perl?

Perl заменяет « Практический язык извлечения и отчетности », хотя для Perl нет авторизованной аббревиатуры. Вы можете создать свою собственную аббревиатуру, и никто не будет возражать. Perl был создан Ларри Уоллом в 1987 году, когда он работал в системе сообщений об ошибках и «AWK» — язык программирования, который он использовал для этой цели, мало ему помогал. Он по-прежнему главный архитектор и разработчик Perl. Если мы хотим определить Perl в одном предложении: Perl — это высокоуровневый интерпретируемый динамический язык программирования. Вам все это казалось по-гречески? (Если вы на самом деле не знаете греческий).

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

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Где используется Perl?

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

Perl также может быть использован для создания и управления изображениями. Помимо этой сети через telnet, FTP и т. Д., Создание графического пользовательского интерфейса, электроники VLSI и создание почтовых фильтров для уменьшения практики рассылки спама — это некоторые примеры использования Perl

Perl также известен реализацией практик ООП (объектно-ориентированного программирования) и поддерживает все формы наследования (простое, множественное и алмазное), полиморфизм и инкапсуляцию. Perl достаточно гибок для одновременной поддержки процедурных и ООП-практик. Perl также имеет дополнительные модули, которые позволяют вам писать или использовать / повторно использовать код, написанный на Python, PHP, PDL, TCL, Octave, Java, C, C ++, Basic, Ruby и Lua, в вашем скрипте Perl. Это означает, что вы можете комбинировать Perl с этими дополнительными языками программирования, а не переписывать существующий код.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Зачем использовать Perl?

Пример: Perl Hello World

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Приведенные выше две строки кода выведут Hello, world! Разве это не было слишком просто и быстро? Студенты со знанием C, C ++ будут знать, что для получения одинакового вывода на этих языках требуется гораздо больше строк кода.

Одним из лучших преимуществ Perl является то, что он бесплатен

Сообщество Perl твердо убеждено, что программное обеспечение должно быть свободно доступным, свободно модифицируемым и свободно распространяемым. Несколько волонтеров из сообщества Perl стремятся сделать язык программирования как можно лучше.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Давайте начнем

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

Загрузите и установите Perl — для Windows, Mac и Linux

Как получить Perl?

Хорошие новости у вас, наверное, есть!

Но если вы не можете найти его уже в своей системе, вы все равно можете получить его бесплатно.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Команда покажет версию Perl, если она установлена. В этом случае версия v5.14.2. Но если нет … не паникуйте …

Плюсы: Минусы:
Юникс Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры Уже установлено Поставляется с предварительно установленным Perl, хотя вам может потребоваться обновить его до последней версии.
Mac OS Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры Уже установленный OSX поставляется с предустановленным Perl, хотя вам может потребоваться обновить его до последней версии
Windows Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры Необходимо установить два варианта доступны

Обновление Perl в Linux:

Если вам нужно обновить версию Perl, просто введите одну строку команды

sudo apt-get установить Perl

И расслабься. Об остальном позаботятся. Просто убедитесь, что у вас есть активное подключение к Интернету.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Установите Perl для Windows:

Шаг 1: Как только вы загрузите установщик и начнете установку, вы увидите окно ниже, нажмите «Далее» для продолжения.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Шаг 2: Примите лицензионное соглашение для продолжения установки.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Шаг 3: Ниже приведены различные пакеты, которые будут установлены. По умолчанию все будет выбрано. Единственное, что отличается — это PPM (Perl Package Manager). Это утилита, предоставляемая Active Perl для установки внешних модулей или библиотек Perl в вашей системе. Нажмите Далее, чтобы продолжить.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Шаг 5: Нажмите кнопку «Установить», чтобы продолжить установку.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Шаг 6: После установки выполните команду ‘Perl –v’, чтобы проверить, успешно ли установлен Perl в вашей системе.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Существует множество вещей, которые необходимо обсудить для настройки среды Perl как в Linux, так и в Windows, так как в этой установке не будет много библиотечных файлов. Вам нужно установить их вручную. Вы можете установить их вручную, используя CPAN (Comprehensive Perl Archive Network) или PPM, который работает только для Perl Windows. Но эти файлы не являются обязательными для начала кодирования в Perl.

Помимо этой настройки Windows, вы можете использовать новую функцию Windows 10 в подсистеме Linux поверх Windows и использовать ее для запуска Perl-кода.

Пример Perl: Hello World

Не волнуйтесь, если вы не понимаете этот текст. Все будет ясно в ближайшее время. Давай и посмотри на это по линии:

Инструкция печати записывает текст на экран. Точка с запятой в конце строки сообщает интерпретатору Perl, что инструкция завершена. Вы должны поставить точку с запятой в конце каждой инструкции в коде Perl. Обратите внимание на кавычку («). Это необходимо для инструкции печати. ​​Сохраните приведенный выше скрипт как firstprog.pl

На винде

Если у вас установлена ​​Strawberry, вы можете просто нажать Run. Вы также можете запустить интерфейс командной строки и написать на консоли:

или, если perl.exe не в вашем пути:

В Linux / Unix

Вам просто нужно открыть терминал и написать:

Если вы не можете запустить программу, убедитесь, что у вас есть право на ее запуск. Введите в Терминале:

Ваша программа теперь исполняемая и готова к запуску. Чтобы выполнить, напишите:

Установите модули cpan минус

cpan App :: cpanminus Убедитесь, что у вас есть интернет-соединение во время загрузки и установки модулей perl.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Теперь установите любой модуль:

Давайте рассмотрим пример установки модуля File :: Data (это интерфейс для доступа к данным файла).

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Переменная Perl

Теперь поговорим о переменных. Вы можете представить переменную как контейнер, который содержит одно или несколько значений. После определения имя переменной остается прежним, но значение или значения меняются снова и снова.

Существует 3 типа переменных:

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Самые простые — это скаляры, и это наша тема сегодня

Скалярная переменная

Этот тип переменной содержит одно значение.

Его имя начинается со знака доллара и идентификатора Perl (это имя нашей переменной).

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Соглашение об именовании

Если вы знакомы с другими языками программирования, вы должны знать, что существуют определенные правила именования переменных. Аналогично, в Perl есть три правила именования скаляров.

Пример Perl:

Это, однако, не являются допустимыми именами скалярных переменных.

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

Два типа скалярных типов данных

Числа:

В этом типе скалярных данных мы можем указать:

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Примечание: в общем, интерпретатор Perl видит целые числа как числа с плавающей запятой. Например, если вы напишите 2 в своих программах, Perl увидит это как 2.0000

Целочисленные литералы:

Он состоит из одной или нескольких цифр, которым может предшествовать плюс или минус, и которые должны быть подчеркнуты.

Примеры Perl:

Как видите, ничего особенного. Но, поверьте мне, это самый распространенный тип скаляров. Они повсюду.

Литералы с плавающей точкой:

Он состоит из цифр, опционально минус, десятичной точки и экспоненты.

Примеры Perl:

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Восьмеричное, шестнадцатеричное и двоичное представление:

Это альтернатива десятичной системе. Позвольте мне показать вам восьмеричное, шестнадцатеричное и двоичное представление. Короткая таблица представляет всю важную информацию об этих странных стилях:

Представление База Продолжено
восьмеричный80 (ноль)
шестнадцатеричный160x
двоичный20b

Примеры Perl:

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

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

Давайте посмотрим на примеры:

Более того, вы можете поместить в переменную не только число, но и выражение.

Струны

Строки: Это также очень простой тип скаляров.

Максимальная длина строки в Perl зависит от объема памяти компьютера. Нет ограничений на размер строки, любое количество символов, символов или слов может составлять ваши строки. Самая короткая строка не имеет символов. Самый длинный может заполнить всю системную память. Программы на Perl могут быть написаны полностью в 7-битном наборе символов ASCII. Perl также позволяет вам добавлять любой 8-битный или 16-битный набор символов, иначе. не-ASCII символы в строковых литералах. Perl также добавил поддержку Unicode UTF-8.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Как и числа, есть два разных типа строк:

Строковые литералы в одинарных кавычках

Одиночные кавычки используются для включения данных, которые вы хотите воспринимать буквально. Короткий пример и все должно быть понятно:

Примеры Perl:

Строковые литералы в двойных кавычках

Двойные кавычки используются для включения данных, которые необходимо интерполировать перед обработкой. Это означает, что экранированные символы и переменные не просто буквально вставляются в более поздние операции, а оцениваются на месте. Экранирующие символы можно использовать для вставки новых строк, вкладок и т. Д.

Примеры Perl:

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

Таинственный \ n

Рассмотрим следующую программу

Примеры Perl:

Perl отображает не просто «привет \ n», а только «привет». Почему? Потому что ‘\ n’ является специальным знаком и означает, что вы хотите перейти на новую строку при отображении текста в вашей программе. напечатайте «привет \ n новая строка»; Следующий вопрос — есть ли другие особые признаки? Да! Но не волнуйся — только немногие. Проверьте таблицу ниже

Construct Описание
\ пновая линия
возвращение
\ ттабуляция
\ еПод.стр
\ бвозврат на одну позицию
\ аколокол
\ епобег
\ 007любое восьмеричное значение ASCII (здесь 007 = колокол)
\ x7fлюбое шестнадцатеричное значение (здесь 7f = удалить)
\\обратный слэш
двойная цитата
\ лстрочная следующая буква
\ Lстрочные все последующие буквы до \ E
\ изаглавная следующая буква
\ Uзаглавными буквами все последующие буквы до \ E
\ EЗавершить \ L, \ U

Я знаю, что «не мало»… Но поверьте, вы должны знать только

Строка Переменная

Это та же самая операция, которую мы видим при назначении номеров. Perl получает нашу строку справа от знака равенства и помещает эту строку в переменную.

Примеры Perl:

Как видите, вы можете поместить числа и строки в одни и те же переменные. Там нет класса переменных.

Конкатенация строк (период):

Оператор конкатенации «.» объединяет две или более строки Помните! Если строка содержит кавычки, возврат каретки, обратную косую черту, все эти специальные символы необходимо экранировать обратной косой чертой.

Perl » переменная Примеры:

Том любимый кот мамы

«$ a», «$ b» объединяются и сохраняются в «$ c» с использованием «.» оператор.

Преобразование между числами и строками:

Примеры Perl:

Область действия переменной — Access Modifiers

Мы можем объявить скаляр в любом месте программы. Но вам нужно указать модификатор доступа

Есть 3 типа модификаторов

My: Используя это, вы можете объявить любую переменную, которая является специфической в ​​пределах блока. то есть в фигурных скобках.

На выходе программы ничего не будет!

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

В приведенном выше примере вы увидите, что объявлены две переменные: одна находится внутри блока if ($ var_2), а другая — вне блока If ($ var). Переменная, объявленная вне блока, будет доступна для блока if, но переменная, объявленная внутри блока, не будет доступна для внешней программы.

Вывод вышеупомянутой программы будет таким образом.

Таким образом, мы можем изменить значение переменной, не влияя на исходное значение.

Our: После того, как переменная объявлена ​​с модификатором доступа «our», она может использоваться во всем пакете. Предположим, у вас есть модуль Perl или пакет test.pm, переменная которого объявлена ​​с областью действия our. Эта переменная может быть доступна в любых скриптах, которые будут использовать этот пакет.

Если вы серьезно относитесь к программированию на Perl, вы должны начать свою программу с

#! / USR / местные / бен / Perl

использовать строгое;

Это поможет вам написать лучше и чище код. «Использовать строгий» включает строгую прагму, которая заставит вас объявлять переменные с моим ключевым словом.

Это хорошая практика программирования

Perl Array

Что такое Perl Array?

Массив — это специальный тип переменной, который хранит данные в форме списка; Доступ к каждому элементу можно получить с помощью номера индекса, который будет уникальным для каждого элемента. Вы можете хранить числа, строки, плавающие значения и т. Д. В вашем массиве. Это выглядит великолепно, так как же нам создать массив в Perl? В Perl вы можете определить массив, используя символ ‘@’, за которым следует имя, которое вы хотите дать. Давайте рассмотрим определение массива в Perl.

Вот как мы определяем массив в Perl; Вы можете подумать, как нам нужно хранить данные в нем. Существуют разные способы хранения данных в массиве. Это зависит от того, как вы собираетесь его использовать.

Это массив с 4 элементами.

Индекс массива начинается с 0 и заканчивается до его максимального объявленного размера, в этом случае максимальный размер индекса равен 3.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Вы также можете объявить массив вышеуказанным способом; единственное отличие состоит в том, что он сохраняет данные в массив, считая пробел в качестве разделителя. Здесь qw () означает слово кавычки. Значение этой функции заключается в создании списка слов. Вы можете использовать qw несколькими способами для объявления массива.

Предположим, вы хотите присвоить значение 5- му элементу массива, как мы собираемся это сделать.

Последовательный массив

Последовательные массивы — это те, где вы храните данные последовательно. Предположим, вы хотите хранить 1-10 цифр или алфавитов az в массиве. Вместо того, чтобы вводить все буквы, вы можете попробовать что-то вроде ниже —

Размер массива Perl

У нас есть массив, который уже доступен, и вы не знаете, каков размер этого массива, и как это можно найти.

Можем ли мы получить размер массива без использования функций? Да мы можем.

Динамический Массив

Что такое динамический массив?

Динамические массивы — это те, которые вы объявляете, не указывая для них никакого значения. Итак, когда именно мы сохраняем значения в этом массиве? Просто, мы храним их во время выполнения. Вот простая программа для этого.

Для этой задачи мы будем использовать некоторые встроенные функции Perl.

Функция split разделяет содержимое строки на массив на основе предоставленного ей разделителя. Эта функция также удалит разделитель из строки, в данном случае это ‘a’;

Push, Pop, shift, unshift для массивов Perl:

Эти функции могут использоваться в Perl для добавления / удаления элементов массива.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Давайте посмотрим на пример, где мы можем использовать следующие функции.

2-й, когда толчок: пн вт ср чт

3-й в нерабочее время: пт пн вт ср чт

Четвертый, когда поп: пт пн вт ср

5-е, когда смена: пн вт ср

Perl Hashes

Зачем нам хэш?

Мы уже узнали о скалярах и массивах в предыдущих разделах.

Что именно скаляры делают? Он хранит только целые числа и строки.

Что именно делают массивы? Это коллекция скаляров, где вы получаете доступ к каждому элементу массива с помощью индексов. Но разве это хорошая идея использовать массив, когда у вас есть сотни и тысячи записей? Мы забудем, какой индекс имеет какое значение. Чтобы преодолеть эту ситуацию, у нас есть что-то вроде perl hash.

Что такое хеши?

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

Рассмотрим пример трех человек и их возраст представлен в массиве.

Таким образом, трудно узнать индивидуальный возраст, так как нам нужно помнить оба указательных местоположения имени и возраста всех людей. Это может быть просто, когда у вас есть 3 имени, но когда у вас есть 1000 или больше? Ты знаешь ответ.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Это мы можем преодолеть с помощью хэша.

Пример хеширования:

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

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Примечание: каждый ключ в хэше должен быть уникальным, иначе он переопределит ваше значение, которое было присвоено ранее.

Как мы можем присвоить хеш другому хешу? Простой, так же, как мы делаем для

Мы также можем напечатать весь хэш.

Добавить Perl Hashes

Как видите, у нас уже есть хеш% newHash, и теперь нам нужно добавить в него больше записей.

Perl Delete key

Вы можете удалить запись из хэша. Вот как мы можем это сделать.

Delete — это встроенная функция Perl. Здесь мы увидим пример присвоения хеша массиву.

Примечание: всякий раз, когда вы печатаете хеш или когда вы сохраняете хеш в массив. Порядок всегда может отличаться. Это не то же самое всегда.

Мы можем назначить только ключи или значения хеша массиву.

Чтобы удалить все записи в хэше, мы можем напрямую присвоить хешу значение null.

% newHash = (); # Это переопределит хеш без записей.

Perl Условные заявления

Мы можем использовать условные выражения в Perl. Итак, каковы условные заявления? Условные операторы — это те, в которых вы на самом деле проверяете соответствие некоторых обстоятельств вашему коду.

Вспомните пример: вы покупаете фрукты и вам не нравится, когда цена превышает 100 баксов. Итак, правило здесь составляет 100 баксов.

Perl поддерживает два типа условных операторов; они, если и если.

Perl If

Если блок кода будет выполнен, когда условие истинно.

Язык программирования perl примеры. Смотреть фото Язык программирования perl примеры. Смотреть картинку Язык программирования perl примеры. Картинка про Язык программирования perl примеры. Фото Язык программирования perl примеры

Perl If Else

Таким образом, мы можем контролировать только одно условие одновременно. Это ограничение? Нет, вы также можете контролировать различные условия, используя if … elsif … else.

Perl Else If

Выполнен блок elsif — значение 5

Могут быть ситуации, когда блоки кода if и elsif будут неуспешными. В этом случае блок кода else будет выполнен. Вы можете на самом деле исключить проверку кода else, если не хотите включать.

Вложенный Perl If

В этом случае вы можете использовать блок кода еще в одном блоке кода.

Inside 1st else block – The value is 11

Perl Unless

You have already got an idea what if does (If the condition is true it will execute the code block). Unless is opposite to if, unless code block will be executed if the condition is false.

Inside 1st else block – The value is 5

Perl Using if

Using unless

Inside unless Block

Perl Loops — Control Structures

Perl supports control structures similar to other programming languages. Perl supports four types of control structures for, foreach, while and until. We use these statements to, repeatedly execute some code.

For loop Perl

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

Значение индекса массива 0 равно 1

Значение индекса массива 1 равно 2

Значение индекса массива 2 равно 3

Значение индекса массива 3 равно 4

Значение индекса 4 массива равно 5

Значение индекса 5 массива равно 6

Значение индекса 6 массива равно 7

Значение индекса массива 7 равно 8

Значение индекса массива 8 равно 9

Значение индекса массива 9 равно 10

Здесь в выражении for () содержится много операторов. Для каждого из них есть смысл.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *