Что такое Перл?

  • Perl — это стабильный кроссплатформенный язык программирования.
  • Хотя Perl официально не является аббревиатурой, мало кто использовал его как Практический язык извлечения и составления отчетов.
  • Он используется для критически важных проектов в государственном и частном секторах.
  • Perl – это программное обеспечение с открытым исходным кодом, распространяемое по Artistic License или по Стандартной общественной лицензии GNU (GPL).
  • Perl был создан Ларри Уоллом.
  • Perl 1.0 был выпущен на ресурсе usenet alt.comp.sources в 1987 году.
  • На момент написания этого руководства последняя версия Perl — 5.16.2.
  • Perl включен в Оксфордский словарь английского языка.

Журнал PC Magazine объявил Perl финалистом премии за техническое превосходство 1998 года в категории средств разработки.

Особенности Perl

  • Perl использует лучшие возможности других языков, таких как C, awk, sed, sh и BASIC, среди прочих.
  • Интерфейс интеграции базы данных Perls DBI поддерживает сторонние базы данных, включая Oracle, Sybase, Postgres, MySQL и другие.
  • Perl работает с HTML, XML и другими языками разметки.
  • Перл поддерживает Юникод.
  • Perl соответствует требованиям Y2K.
  • Perl поддерживает как процедурное, так и объектно-ориентированное программирование.
  • Perl взаимодействует с внешними библиотеками C/C++ через XS или SWIG.
  • Перл расширяем. В Comprehensive Perl Archive Network (CPAN) доступно более 20 000 сторонних модулей.
  • Интерпретатор Perl может быть встроен в другие системы.

Перл и Интернет

  • Раньше Perl был самым популярным языком веб-программирования благодаря своим возможностям работы с текстом и быстрому циклу разработки.
  • Perl широко известен как «изоляционная лента Интернета».
  • Perl Training In Chennai может обрабатывать зашифрованные веб-данные, включая транзакции электронной коммерции.
  • Perl можно встроить в веб-серверы, чтобы ускорить обработку на целых 2000%.
  • Mod_perl Perl позволяет веб-серверу Apache встраивать интерпретатор Perl.
  • Пакет Perl DBI упрощает интеграцию с веб-базой данных.

Perl интерпретируется

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

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

Это также не похоже на большинство версий C или C++, которые компилируются непосредственно в машинно-зависимый формат. Он находится где-то посередине, наряду с файлами Python и awk и Emacs .elc.

Почему Perl?

Как и в случае с языком программирования Basic, название «Perl» на самом деле не является аббревиатурой. Однако людям нравится придумывать аббревиатуры, и у Ларри есть два любимых расширения. По словам его создателя, perl — это язык практического извлечения и составления отчетов, или патологически эклектичный список мусора. В любом случае, это не имеет большого значения. Perl — это язык для того, чтобы делать то, что вы хотите.

Девиз Perl — «Есть больше, чем один способ сделать это», подчеркивающий как гибкость Perl, так и тот факт, что Perl предназначен для выполнения работы. Мы можем сказать, что одна программа на Perl быстрее, или идиоматичнее, или эффективнее, чем другая, но если обе делают одно и то же, Perl не собирается судить, какая из них

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

У Perl есть очевидные сильные стороны

❑ Его очень легко освоить, и небольшое изучение Perl может значительно помочь вам.

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

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

❑ Perl озвучивает текст. Он думает о словах и предложениях, где другие языки видят символ одновременно. Он также думает о файлах с точки зрения строк, а не отдельных байтов. Его «регулярные выражения» позволяют легко и быстро искать и преобразовывать текст бесчисленными способами.

❑ Perl называют «языком высокого уровня». Некоторые языки, такие как C, беспокоят вас ненужными, «низкоуровневыми» подробностями работы компьютера: убедитесь, что у вас достаточно свободной памяти, убедитесь, что все части вашей программы настроены правильно, прежде чем вы попытаетесь их использовать, и оставите вас с странные и недружественные ошибки, если вы этого не сделаете. Perl освобождает вас от всего этого.

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

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

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

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

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

Это не означает, что Perl является частью набора утилит GNU. Проект GNU («GNU's Not UNIX») был создан для создания свободно используемой, распространяемой и модифицируемой версии операционной системы UNIX и ее инструментов. Теперь он производит много полезных бесплатных утилит. Perl включен в дистрибутивы программного обеспечения GNU, но сам Perl не является продуктом Free Software Foundation, органа, который курирует GNU.

В то время как Perl может распространяться в соответствии с условиями общественной лицензии GNU, он также может распространяться в соответствии с лицензией Artistic, которая дает больше свободы пользователям и большую безопасность разработчикам, чем GPL. Судите сами — мы включили эти лицензии в Приложение G.

Конечно, тех, кто хочет использовать Perl на работе, это может немного оттолкнуть — менеджеры любят платить деньги за вещи и иметь бумажки, говорящие, что они могут разозлиться на кого-то, если все это перестанет работать. В FAQ по Perl (Часто задаваемые вопросы) есть вопрос о том, как получить коммерческую версию или поддержку Perl, и мы посмотрим, как вы сможете найти ответ для себя довольно скоро.

Концепция Perl/CGI:

PerlScript, mod_perl и HTML::Mason, которые становятся все более широко используемыми.

Введение

Конечно, Perl по-прежнему широко используется по своему первоначальному назначению: извлечение данных из одного источника и преобразование их в другой формат. Это охватывает все, от обработки и обобщения системных журналов, манипулирования базами данных, переформатирования текстовых файлов и простых операций поиска и замены, до чего-то вроде Alien, программы для переноса пакетов программного обеспечения Linux между форматами упаковки разных дистрибьюторов. Perl даже управляет данными из проекта «Геном человека» — задача, требующая огромных объемов манипуляций с данными.

Для системных администраторов Perl, безусловно, является «бензопилой швейцарской армии», как он себя называет. Он отлично подходит для автоматизации задач администрирования, отправки автоматически сгенерированных писем и общей очистки системы. Он может обрабатывать журналы, сообщать информацию об использовании диска, создавать отчеты об использовании ресурсов и отслеживать проблемы безопасности. Существуют также расширения, которые позволяют Perl работать с реестром Windows и работать как служба Windows NT, не говоря уже о встроенных функциях, которые позволяют ему манипулировать паролем UNIX и записями групповых файлов.

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

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

Когда мы настраиваем Perl и запускаем наши примеры, мы уделяем особое внимание UNIX и Windows. Под UNIX я подразумеваю любую коммерческую или бесплатную UNIX-подобную реализацию — Solaris, Linux, Net-, Free- и OpenBSD, HP/UX, A/IX и так далее. Домашняя платформа Perl — UNIX, а 90% мира используют Windows. Тем не менее, язык Perl одинаков для всех. Если вам нужна помощь с вашей конкретной платформой, вы, вероятно, сможете найти для нее файл README в исходном дистрибутиве Perl. Мы увидим, как получить это в следующей главе.

Пока мы говорим об особенностях операционной системы, мы будем использовать расширение имени файла .plx для наших примеров. Традиционно программы UNIX не имеют расширения, а файлы Windows имеют трехбуквенное расширение, указывающее на их тип. .plx используется ActiveState для обозначения программы Perl. Поскольку UNIX непривередлива, мы будем использовать эту идиому. Вы также можете увидеть расширение .pl, используемое для Perl-программ (и, на самом деле, я сам время от времени использую его, чтобы напомнить себе, что данная программа на самом деле является Perl-программой), но если быть по-настоящему педантичным, то это нечто большее. правильно используется для библиотек Perl 4. Они по большей части были заменены модулями Perl 5, которые обычно имеют расширение .pm. Чтобы избежать путаницы, мы не будем использовать расширение .pl.

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