Perl - язык программирования широкого назначения, используемый в системном администрировании и веб-разработке. Девиз языка: "There's more than one way to do this" (англ.) переводится как "То же самое можно сделать по-другому".
Примеры кода на языке Perl
1. "Привет, мир"
print "Hello World";
2. Обычный код
my $padding = "";
if ( ($res) and (length($res) >= 1) ) {
$padding = (3 - length($res) % 3) % 3; ## Set flag if binary data isn't divisible by 3
$res = substr(pack('u', $res), 1); ## Convert the binary to uuencoded text
chop($res);
$res =~ tr|` -_|AA-Za-z0-9+/|; ## Translate from uuencode to base64
}
Краткая история
Язык Perl (Practical Extracting and Reporting Language - "практичный язык для извлечения данных и составления отчетов") изначально был разработан лингвистом Ларри Уоллом в 1987 г. с целью упрощения создания отчетов для NASA. Изначально язык предполагалось назвать PEARL ("жемчужина" - англ.), но на тот момент одноименный язык программирования уже существовал. На данный момент последняя используемая версия языка - 5.10, ведется разработка версии 6.0.
Свойства языка
- Императивный: программа состоит из последовательности команд
- Процедурный в своей основе (объектно-ориентированные механизмы добавлены позже)
- Типизация данных: динамическая (нет явного объявления типа скалярных переменных)
- Тип исполнения: интерпретируемый
- Стили программирования: как функциональный, так и объектно-ориентированный (по усмотрению программиста)
Ключевые особенности
К ключевым особенностям Perl, выделяющим его среди других языков, относятся:
- Большие возможности по обработке текста: развитые регулярные выражения с возможностью подстановки и транслитерации, форматированные отчеты и т.п. Это есть и в других языках, но на Perl это делается проще.
- Гибкость в выборе стиля программирования (программист выбирает между функциональным и объекто-ориентированным программированием, или использует оба варианта)
- Быстродействие, позволяющее сравнивать быстродействие программ на Perl с аналогичным кодом на Java и C++
Элементы языка
- Переменные: скаляры (числовые, текстовые), списки (lists), ассоциативные массивы (hashes)
- Константы
- Выражения, в т.ч. регулярные
- Операторы присваивания
- Кодовые блоки
- Модули (Packages)
- Функции
- Контрольные структуры: if, unless, then, else, else if, while, for, foreach, break, continue, last, next
- Комментарии и встроенная система документации
Области применения
- Обработка текста и создание отчетов
- Написание сценариев (scripts) для системного администрирования
- Сетевое программирование клиент-сервер
- Системное программирование
- Веб-программирование (mod_perl, CGI)
Распространение и наличие
Язык Perl доступен бесплатно на официальном сайте Perl. Он также входит в набор пакетов, устанавливаемых по умолчанию, для всех существующих открытых UNIX-подобных операционных систем. Также Perl существует для следующих платформ:
Дополнительные модули и библиотеки
Язык Perl имеет обширную кодовую базу - на данный момент в свободном доступе есть ок. 15000 дополнительных модулей (по состоянию на начало 2009 г.), облегчающих написание кода.
Используемые источники
1. Домашняя страница Ларри Уолла, автора языка Perl wall.org.
2. Официальный веб-сайт языка Perl perl.org.
3. Архив модулей для Perl cpan.org.
4. Книга "Programming Perl" by Larry Wall, Randal L. Schwartz, Tom Christiansen, Stephen Potter. ISBN 1565921496.
5. Книга "Perl Cookbook" by Tom Christiansen and Nathan Torkington. books.google.ru.
6. Книга "Practical mod_perl" by Stas Bekman and Eric modperlbook.org
7. Результаты тестирования производительности Perl benchmarking result furryland.org.