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

Как и многие другие языки программирования, язык Perl был придуман вполне себе одиночкой Ларри Уоллом в далеком от нас 1987 году. Язык изначально ориентировался на среду Unix, в которой традиционными задачами были разборы текстовых файлов, команд и скриптов. Перелопачивать их приходилось постоянно, а обычные языки вроде Си подходили под это дело плохо. Perl и стал таким новым языком, да так удачно, что его потом с успехом включали в оболочки типа psh и другие языки в виде модулей. С Windows Perl «не дружил» до версии 5.004, зато потом, после 1997 года, пользователи системы Майкрософт тоже могли насладиться этим интересным языком, используя его в виде командного интерпретатора. Сейчас активно ведется попытка стандартизации языка с одновременным выпуском Perl 6, но конца работы еще не видно.

Если говорить образно, то Perl несколько напоминает Бейсик, но только с расширенными функциями обработки строк. Кроме строк, ему подвластны и битовые потоки, то есть, фактически, любые типы данных – графика, музыка, архивы и прочее. Но обработка текстов все же остается основной задачей, и называется все это поддержкой регулярных выражений. Это, собственно, и есть «функции» языка: невероятно компактные и гибкие, которые нередко можно записать в одну строку. Регулярные выражения обладают такой возможностью, что могут быть включены друг в друга, создавая при этом целый стек высокоуровневых команд, разворачиваемых при запуске. К сожалению, стремление к компактности привело к тому, что большинство программ на Перле просто нечитаемы: слишком много в них применяется модификаторов, спецсимволов и прочих странных команд. Так что, увидев что-то вроде «s;;=]=>%-{<-|}<&|`{», не думайте, что у вас что-то не то со зрением – это выражение на Perl. Такая гибкость стоит дорогого, поэтому программисты составили огромную открытую библиотеку CPAN, где есть модули на все случаи жизни. Кроме поддержки модулей, есть в языке и ООП, и обычные функции, и классические структуры: операторы, циклы и т.д. Чтобы попробовать начать разработку CGI-программ или локальных скриптов, обязательно понадобится локальный web-сервер.

captcha