Perl (/pɜːɹl/, «пёрл»; в русском языке устоялось «перл») — язык программирования. Создатель Ларри Уолл. Само слово Perl — аббревиатура, которая расшифровывается как Practical Extraction and Report Language (практический язык для извлечения данных и составления отчётов; сначала язык назывался PEARL, но затем буква «A» «потерялась»). Существует также ряд других вариантов. Согласно самому красивому из них, название perl произошло от слова pearl (жемчужина). Талисманом языка Perl является верблюд — не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.
Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений.
Perl также знаменит огромной коллекцией дополнительных модулей CPAN.
Интересен текст на Perl, печатающий простые числа:
perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'
Еще один также впечатляющий своей краткостью пример, имеющий к тому же практическую пользу. Печатаются только уникальные строки файла file.
perl -ne '$s{$_}++ || print' file
В этих примерах Perl напоминает своей краткостью и непонятностью с первого взгляда язык J.
Перл унаследовал много свойств от языков Си, shell script, awk.
Сегодня основной для разработчиков является пятая версия языка Perl однако (на некоторых веб-серверах) продолжают использоваться программы (скрипты), написанные на предыдущей — четвёртой — версии (из-за частичной обратной несовместимости). Фактически стандарт языка определяется реализацией интерпретатора.
С 2000 года идет разработка новой (6-ой) версии языка. В отличие от предыдущих версий, разработчики планируют создать четко определенный стандарт языка. В настоящее время существуют экспериментальные компиляторы Perl 6, но продолжается дальнейшая дискуссия о новых правилах.
Perl — далеко не единственный язык, дающий богатые возможности в обработке текста. Языки программирования РЕФАЛ, Icon и Snobol предоставляют возможность использовать более полно метод программирования «сопоставления с образцом», частным случаем которого и являются регулярные выражения.
Существует также полноценный shell, использующий в качестве основы язык Perl. Называется он psh и даёт возможность смешивать команды обычного шелла и самого Perl’а.