Perl
Материал из Википедии — свободной энциклопедии
Семантика: | императивный |
---|---|
Тип исполнения: | интерпретатор |
Появился в: | 1987 г. |
Автор(ы): | Ларри Уолл |
Типизация данных: | динамическая |
Основные реализации: | |
Диалекты: | |
Создан под влиянием: | Си, AWK, Shell, Sed, Лисп |
Оказал влияние на: | Руби, Python, PHP |
Перл (Perl) — язык программирования. Создатель Ларри Уолл (Larry Wall). Само слово Perl — аббревиатура, которая расшифровывается как Practical Extraction and Report Language (практический язык извлечений и отчётов, отчего сначала язык назывался PEARL, но затем буква «A» «потерялась»). Существует также ряд других вариантов. Согласно самому красивому из них, название perl произошло от слова pearl (жемчужина). Талисманом языка Perl является верблюд — не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.
Основной особенностью языка считаются его богатые возможности для работы с текстом, реализованные при помощи регулярных выражений.
Перл также знаменит огромной коллекцией дополнительных модулей CPAN, находящейся по адресу http://www.cpan.org(англ.)
Интересен текст на Perl, печатающий простые числа:
perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'
Еще один также впечатляющий своей краткостью пример, имеющий к тому же практическую пользу. Печатаются только уникальные строки файла file.
perl -ne '$s{$_}++ || print' file
Перл унаследовал много свойств от языков Си, shell script, awk.
Сегодня основной для разработчиков является пятая версия языка Perl однако (на некоторых веб-серверах) продолжают использоваться программы (скрипты), написанные на предыдущей — четвёртой — версии (из-за частичной обратной несовместимости). Фактически стандарт языка определяется реализацией интерпретатора.
С 2000 года идет разработка новой (шестой) версии языка. В отличие от предыдущих версий, разработчики планируют создать четко определенный стандарт языка. В настоящее время существуют экспериментальные компиляторы Perl 6, но продолжается дальнейшая дискуссия о новых правилах. На русском языке информация о новой версии языка доступна на сайте http://perl6.ru.
Перл — далеко не единственный язык, дающий богатые возможности в обработке текста. Языки программирования Icon и Snobol предоставляют возможность использовать более полно метод программирования «сопоставления с образцом», частным случаем которого и являются регулярные выражения.
Существует также полноценный shell, использующий в качестве основы язык Perl. Называется он psh и даёт возможность смешивать команды обычного шелла и самого Perl’а.
Содержание |
[править] Синтаксис языка Перл
[править] Пример программы
Программа, выводящая «Hello, World!».
#!/usr/bin/perl # print "Hello, world!\n"; exit;
Простой способ умножения на 10.
$x=5; $x.=0; print $x;
А вот так можно напечатать число Гугол.
print 1, 0 x 100;
[править] Типы данных
Три типа данных: скаляр, список и хеш-таблица
$foo # a scalar @foo # a list %foo # a hash
[править] Регулярные выражения
[править] Поэзия в перле
На Perl можно даже писать стихотворения. Одно из таких стихотворений под названием «Black Perl» («Чёрная жемчужина» или «Чёрный перл») было упомянуто Ларри Уоллом в первоапрельском письме в Usenet. Оно было написано изначально для Perl 3, и по словам самого Ларри, он испытал моральное удовлетворение, когда стихотворение не прошло синтактический анализатор в Perl 5.
BEFOREHEAD: close door, each window & exit; wait until time. open spellbook, study, read (scan, select, tell us); write it, print the hex whole each watches, reverse its legth, write again; kill spiders, pop them, chop, split, kill them. unlink arms, shift, wait & listen (listening, wait), sort the flock (then, warn the "goats" & kill the "sheep"); kill them, dump qualms, shift moralities, values aside, each one; die sheep! die to reverse the system you accept (reject, respect); next step, kill next sacrifice, each sacrifice, wait, redo ritual until "all the spirits are pleased"; do it ("as they say"). do it(*everyone***must***participate***in***forbidden**s*e*x*). return last victim; package body; exit crypt (time, times & "half a time") & close it, select (quickly) & warn your next victim; AFTERWORDS: tell nobody, wait, wait until time; wait until next year, next decade; sleep, sleep, die yourself, die at last
[править] См. также
[править] Ссылки
- www.perl.org — Официальный сайт языка Perl
- www.cpan.org — Библиотеки для языка Perl
- perlintro — краткое введение и обзор Perl'а
- perlsyn — синтакс Perl'а
- perlre — регулярные выражения в Perl
- perl5 what is new — что нового в Perl 5
- perl6.ru — информация о новой версии Perl 6
- books.0x10.net — подборка книг по Perl
Используемые в разработке: ABAP/4 | Ада | Ассемблеры | Awk | BASIC | Си | COBOL | C++ | C# | ColdFusion | D | Delphi | Forth | FoxPro | DataFlex | Фортран | Java | JavaScript | J++ | J# | Icon | Limbo | Лисп | Lua | Objective-C | Оберон | Oz | Паскаль | Perl | PHP | PL/I | Пролог | Руби | Python | Tcl | Smalltalk | SQL | Visual DataFlex | Visual Basic | VB.NET
|