Что такое Perl? Прежде всего, Perl - это высокоуровневый интерпретируемый и динамический язык программирования.

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

Perl разработал американский программист и лингвист по образованию, Ларри Уолл.

Кстати, название Perl у языка было не всегда. Когда-то он назывался Pearl. Но потом букву «a» из названия было решено убрать, так как на тот момент уже существовал язык с похожим названием. Персонажем-талисманом языка Perl является верблюд: выносливое животное, способное выполнять очень тяжелую работу.

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

Изначально Perl создавался только для работы с текстом, но потом его подхватили и стали применять для многих задач: системное администрирование и сетевое программирование, веб-разработка и разработка графических интерфейсов, биоинформатика и т.п.

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

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

Итак, умер ли Perl?

Нет, Perl не умер. Он сумел преодолеть барьер и не впасть в стагнацию. Язык по прежнему развивают разработчики, о чем свидетельствуют новые релизы. Появилось множество фреймворков для быстрой разработки веб-приложений на Perl - Catalyst, Mojolicious, Dancer.

Если ли работа для Perl программистов?

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

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

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

Perl очень сложный язык программирования?

Не сложный, а с богатыми возможностями. По крайней мере, не сложней того же Си.

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

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

Оператор unless, которые многие не понимают, а некоторые не используют, производит логическое отрицание (!) булевой величины.

Функции во многих языках принято начинать с ключевого слова function после которого задается название функции, передаваемые параметры в круглых скобках и наконец само тело функции в фигурных скобках. В Perl все то же самое, кроме того, что вместо ключевого слова function используется слово sub. Для программистов не пробовавших Perl вероятно может показаться слегка непривычным. Но не более.

Готовые модули и библиотеки

У Perl очень много примеров кода, в том числе кода различных готовых проектов, в открытом для всех пользовании на CPAN. Он содержит множество модулей и библиотек, которые можно брать и использовать в любом своем проекте для быстрой разработки. Но безусловно, там тоже есть старый и некачественный код, непригодный к использованию. Впрочем, плохой код есть везде, даже на том же GitHub.

Войдя в мир программирования, Perl безусловно, повлиял на окружающие его вещи.