NAME/НАИМЕНОВАНИЕ

perl - интерпретатор языка Perl5

СИНТАКСИС

perl [ -sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:отладчик] ] [ -D[кол-во/список] ] [ -pna ] [ -Fшаблон ] [ -l[восьмеричный] ] [ -0[восьмеричный/шестнадцатеричный] ] [ -Idir ] [ -m[-]модуль ] [ -M[-]'модуль...' ] [ -f ] [ -C [кол-во/список] ] [ -S ] [ -x[dir] ] [ -i[расширение] ] [ [-e|-E] 'команда' ] [ -- ] [ файл программы ] [ аргумент ]...

Для получения дополнительной информации по этим параметрам, можно запустить perldoc perlrun.

ПОЛУЧЕНИЕ ПОМОЩИ

perldoc Программа дает вам доступ ко всей документации, которая поставляется с Perl. Вы можете получить более подробную документацию, руководства и интернет-сообщество поддержки на http://www.perl.org/.

Если вы новичок в Perl, вы должны начать, запустив perldoc perlintro, которая представляет собой общее введение для новичков и дает некоторые базовые навыки, чтобы помочь вам ориентироваться в остальной обширной документации Perl. Запустите С<perldoc perldoc> чтобы узнать больше, которые вы можете сделать с perldoc .

Для удобства чтения руководство Perl был разделено на несколько частей.

Обзор

perl		Perl обзор (этот раздел)
perlintro		Введение в Perl для начинающих
perlrun		Выполнение программы на Perl и его опции
perltoc		Perl документация Оглавление

Учебники

perlreftut		Perl краткое введение в ссылки
perldsc		Perl введение в структуры данных
perllol		Структуры данных Perl: массивы массивов

perlrequick 	Регулярные выражения Perl быстрый старт
perlretut		Perl регулярные выражения учебник

perlootut		Perl OO учебник для начинающих

perlperf		Perl Производительность и Методы оптимизации

perlstyle		Perl руководство по стилю программирования

perlcheat		Perl шпаргалка
perltrap		Perl ловушки для неосторожных
perldebtut		Perl Учебник отладки

perlfaq		Perl часто задаваемые вопросы
  perlfaq1		Общие вопросы о Perl
  perlfaq2		Получение и изучение Perl
  perlfaq3		Инструменты программирования
  perlfaq4		Манипуляция данными
  perlfaq5		Файлы и форматы
  perlfaq6		Регулярные выражения
  perlfaq7		Проблемы языка Perl
  perlfaq8		Взаимодействие с системой
  perlfaq9		Сети

Справочное руководство

perlsyn		Синтаксис Perl
perldata		Структуры данных Perl
perlop		Perl операторы и их приоритет
perlsub		Perl подпрограммы
perlfunc		Perl встроенные функции
  perlopentut	Perl open() учебник
  perlpacktut	Perl pack() и unpack() учебник
perlpod		Perl простая старая документация
perlpodspec 	Perl простая старая документация спецификация формата
perlpodstyle	Perl POD руководство по стилю
perldiag		Perl диагностические сообщения
perllexwarn 	Perl  предупреждения и управление ими
perldebug		Perl отладка
perlvar		Perl предопределенные переменные
perlre		Perl  регулярные выражения, остальная часть истории
perlrebackslash	Perl регулярные выражения  последовательности с обратным слэшем
perlrecharclass	Perl  регулярные выражения классы символов
perlreref		Perl регулярные выражения краткий справочник
perlref		Perl ссылки, остальная часть истории
perlform		Perl форматы
perlobj		Perl объекты
perltie		Perl объекты скрытые за простыми переменными
  perldbmfilter	Perl DBM фильтры

perlipc		Perl межпроцессное взаимодействие
perlfork		Perl fork() информация
perlnumber		Perl семантики числа

perlthrtut		Perl потоки учебник

perlport		Perl руководство по переносимости
perllocale		Perl языковая поддержка
perluniintro	Perl введение в Unicode
perlunicode 	Perl  поддержка юникода
perlunifaq		Perl Unicode FAQ
perluniprops	Каталог свойств Unicode в Perl
perlunitut		Perl Unicode учебник
perlebcdic		Соображения для запуска Perl на EBCDIC платформах

perlsec		Perl безопасность

perlmod		Perl модули: как они работают
perlmodlib		Perl модули: как писать и использовать
perlmodstyle	Perl модули: правильный стиль написания модулей
perlmodinstall	Perl  модули: как установить из CPAN
perlnewmod		Perl модули: подготовка нового модуля для опубликования
perlpragma		Perl модули: написание пользовательской pragma (директивы компилятору)

perlutil		утилиты, идущие в комплекте с поставкой Perl

perlfilter		Perl исходные файлы

perldtrace		Perl поддержка для DTrace

perlglossary	Perl Глоссарий

Внутренности и Язык интерфейса для C

perlembed		Perl пути для встраивания perl в ваши C или C++ приложения
perldebguts 	Perl внутренности отладки и советы
perlxstut		Perl XS учебник
perlxs		Perl XS интерфейс прикладного программирования
perlxstypemap	Perl XS C/Perl инструменты преобразования типов
perlclib		Внутренние замены для стандартных библиотечных функций C
perlguts		Perl внутренние функции для тех, кто делает расширения
perlcall		Perl соглашения о вызове из C
perlmroapi		Perl метод резолюции интерфейса плагинов
perlreapi		Perl регулярные выражения интерфейс плагина
perlreguts		Perl регулярные внутренние внутренности движка

perlapi		Perl API объявления (автоматически сгенерированные)
perlintern		Perl внутренние функции (автоматически сгенерированные)
perliol		C API для Perl реализации ввода-вывода в слоях
perlapio		Perl внутренний интерфейс ввода-вывода абстрактный интерфейс

perlhack		Руководство хакера Perl
perlsource		Руководство по дереву исходного кода Perl
perlinterp		Обзор исходного кода интерпретатора Perl и как он работает
perlhacktut 	Прогулка по созданию простого патча кода на C
perlhacktips	Советы как хачить(взламывать) код ядра Perl на С
perlpolicy		Perl политики(установки) разработки
perlgit		Использование Git с Perl репозиторием

Разное

perlbook		Perl информация о книгах
perlcommunity	Информация о Perl сообществе

perldoc		Посмотрите Perl документацию в формате Pod

perlhist		Записи истории Perl
perldelta		Perl  изменения с предыдущей версии
perl5180delta	Perl изменения в версии 5.18.0
perl5161delta	Perl изменения в версии 5.16.1
perl5162delta	Perl изменения в версии 5.16.2
perl5163delta	Perl изменения в версии 5.16.3
perl5160delta	Perl изменения в версии 5.16.0
perl5144delta	Perl изменения в версии 5.14.4
perl5143delta	Perl изменения в версии 5.14.3
perl5142delta	Perl изменения в версии 5.14.2
perl5141delta	Perl изменения в версии 5.14.1
perl5140delta	Perl изменения в версии 5.14.0
perl5125delta	Perl изменения в версии 5.12.5
perl5124delta	Perl изменения в версии 5.12.4
perl5123delta	Perl изменения в версии 5.12.3
perl5122delta	Perl изменения в версии 5.12.2
perl5121delta	Perl изменения в версии 5.12.1
perl5120delta	Perl изменения в версии 5.12.0
perl5101delta	Perl изменения в версии 5.10.1
perl5100delta	Perl изменения в версии 5.10.0
perl589delta	Perl изменения в версии 5.8.9
perl588delta	Perl изменения в версии 5.8.8
perl587delta	Perl изменения в версии 5.8.7
perl586delta	Perl изменения в версии 5.8.6
perl585delta	Perl изменения в версии 5.8.5
perl584delta	Perl изменения в версии 5.8.4
perl583delta	Perl изменения в версии 5.8.3
perl582delta	Perl изменения в версии 5.8.2
perl581delta	Perl изменения в версии 5.8.1
perl58delta 	Perl изменения в версии 5.8.0
perl561delta	Perl изменения в версии 5.6.1
perl56delta 	Perl изменения в версии 5.6
perl5005delta	Perl изменения в версии 5.005
perl5004delta	Perl изменения в версии 5.004

perlexperiment	Cписок экспериментальных функций в Perl

perlartistic	Perl Лицензия Художников (Artistic License)
perlgpl		Универсальная Общественная Лицензия GNU

Для разных языков

perlcn		Perl для упрощенного китайского  (в EUC-CN)
perljp		Perl  для японского (в EUC-JP)
perlko		Perl для корейского (в EUC-KR)
perltw		Perl для традиционного китайского (в Big5)

Для отдельных платформ

perlaix		Perl заметки для AIX
perlamiga		Perl заметки для AmigaOS
perlbs2000		Perl заметки для POSIX-BC BS2000
perlce		Perl заметки для WinCE
perlcygwin		Perl заметки для Cygwin
perldgux		Perl заметки для DG/UX
perldos		Perl заметки для DOS
perlfreebsd 	Perl заметки для FreeBSD
perlhaiku		Perl заметки для Haiku
perlhpux		Perl заметки для HP-UX
perlhurd		Perl заметки для Hurd
perlirix		Perl заметки для Irix
perllinux		Perl заметки для Linux
perlmacos		Perl заметки для Mac OS (Classic)
perlmacosx		Perl заметки для Mac OS X
perlnetware 	Perl заметки для NetWare
perlopenbsd 	Perl заметки для OpenBSD
perlos2		Perl заметки для OS/2
perlos390		Perl заметки для OS/390
perlos400		Perl заметки для OS/400
perlplan9		Perl заметки для Plan 9
perlqnx		Perl заметки для QNX
perlriscos		Perl заметки для RISC OS
perlsolaris 	Perl заметки для Solaris
perlsymbian 	Perl заметки для Symbian
perltru64		Perl заметки для Tru64
perlvms		Perl заметки для VMS
perlvos		Perl заметки для Stratus VOS
perlwin32		Perl заметки для Windows

Заглушки для удаленных документов

perlboot		
perlbot		
perltodo
perltooc		
perltoot		

На Unix-подобных системах, эти файлы, как правило, также будет доступны как страницы руководств для использования с программой man .

Некоторая документация не доступна в виде man страниц, так что, если перекрестные ссылки не найдены в мане, то попробуйте их с помощью perldoc. Perldoc также предоставляет документацию по функциям (с опцией -f). См. perldoc --help (или perldoc perldoc или man perldoc) для других полезных вариантов, которые perldoc может предложить.

В общем, если что-то странное пошло не так с вашей программой, и вы не уверены, где вы должны искать помощи, попробуйте поставить в начале программы use strict и use warnings. Они будут часто указывают именно туда, где беда.

ОПИСАНИЕ

Perl официально предназначается как Язык для Практического Извлечения и Создания отчетов, кроме случаев, когда это не так.

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

Язык больше предназначен для практических (простота в использовании, эффективность, полнота), чем для красивых решений (крошечность, элегантность, минимализм). Он сочетает в себе (по мнению автора, во всяком случае) некоторые из лучших особенностей sed, awk, и sh, что делает его знакомым и простым, быстрым и удобным для пользователей Unix при решении досадных проблем. Его обще-целевые программистские возможности поддерживают процедурные, функциональные и объектно-ориентированных парадигмы программирования, что делает Perl удобным языком для долгого пути по крупным проектам, независимо от извилистости пути.

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

НАЛИЧИЕ

Perl доступен для большинства операционных систем, в том числе практически для всех Unix-подобных платформ. См. "Supported Platforms" in perlport для ознакомления с перечнем.

ОКРУЖЕНИЕ

См. perlrun.

АВТОР

Ларри Уолл <larry@wall.org>, с помощью кучи других людей.

Если ваша Perl история успеха и отзывы могут быть полезны тем, кто стремиться к поддержке использования Perl в своих приложениях, или если вы хотите просто выразить свою благодарность Ларри и Perl разработчикам, пожалуйста, напишите perl-thanks@perl.org .

ФАЙЛЫ

"@INC"			место расположение Perl библиотек

СМОТРИТЕ ТАКЖЕ

http://www.perl.org/      домашняя страница Perl
http://www.perl.com/       статьи Perl (O'Reilly)
http://www.cpan.org/       the Comprehensive Perl Archive (Всеобъемлющий Perl Архив)
http://www.pm.org/         the Perl Mongers

ДИАГНОСТИКА

Использование прагмы use strict гарантирует, что все переменные объявлены правильно и предотвращает другие злоупотребления функциями Perl.

Прагма use warnings сообщает некоторую интересную диагностику. Можно также использовать -w флаг, но его использование, как правило, не рекомендуется, потому что он будет применяться ко всему исполняемому коду Perl, в том числе к тому, который не под вашим контролем.

См. perldiag за разъяснениями всех сообщений диагностики Perl. Прагма use diagnostics автоматически включает в Perl обычно краткие предупреждения и ошибки в длинные формы.

Ошибки компиляции скажут вам номер строки ошибки, с указанием следующей лексемы(оператора) или тип маркера(оператора), который должен был быть рассмотрен. (В скрипте Perl передается через -e ключи, каждый -e считается одной линией.)

Setuid сценарии имеют дополнительные ограничения, которые могут производить сообщения об ошибках, такие как "небезопасная зависимость". См. perlsec.

Мы упомянули, что вам обязательно надо рассмотреть возможность использования прагмы use warnings ?

ОШИБКИ

Поведение, подразумеваемое прагмой use warnings не является обязательным.

Perl отдает на милость определения вашей машины различные операции, такие как приведение типов, atof(), и с плавающей точкой вывод с sprintf().

Если ваш stdio требует искать eof(символ конца файла) между чтением и записью соответствующего потока, то это делает Perl. (Это не относится к sysread() и syswrite().)

Хотя ни один из встроенных типов данных не имеет любые произвольные ограничения на размер (кроме памяти), есть еще несколько произвольных ограничений: данное имя переменной не может быть длиннее 251 символов. Номера строк отображаемой диагностики внутренней памяти как короткие целые, поэтому они ограничиваются максимум 65535 (большие числа обычно плохо пахнут).

Вы можете отправить ваши сообщения об ошибке (не забудьте включить полную информацию о конфигурации в качестве вывода myconfig программы в Perl дереве исходных текстов, или посредством perl -V) на perlbug@perl.org . Если вы преуспели в компиляции perl, the perlbug сценарий в utils/ подкаталоге может быть использован, чтобы помочь для написания письма с отчетом об ошибке.

Perl на самом деле обозначает Паталогически Эклектичный Мусорный Листер, но никому не говорите, что я это сказал.

ПРИМЕЧАНИЯ

Perl девиз: "Есть больше чем один способ сделать это." "There's more than one way to do it." Дальнейшие пророчества остаются в качестве упражнения для читателя.

Три основные достоинства программиста: лень, нетерпение, и высокомерие. См. Camel Book почему.

ПЕРЕВОДЧИКИ

  • Николай Мишин <mishin@cpan.org>