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		Краткое руководство по ссылкам, которое написал Марк
perldsc		Perl введение в структуры данных
perllol		Структуры данных Perl: массивы массивов

perlrequick 	Быстрый старт использования регулярных выражений Perl
perlretut		Учебник регулярных выражений Perl

perlootut		Руководство по Объектно-ориентированному Программированию в Perl

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

perlstyle		Стиль написания Perl-кода

perlcheat		Perl 5 Шпаргалка
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
perlpacktut	        Учебник по pack и unpack
perlpod		Формат простой старой документации (Plain Old Documentation POD)
perlpodspec 	Простая старая документация: спецификация формата и примечания
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 Юникод
perlunicode 	Поддержка Юникода в Perl
perlunifaq		Perl Unicode FAQ
perluniprops	Каталог свойств Unicode в Perl
perlunitut		Учебник по Юникоду в Perl
perlebcdic		Соображения для запуска Perl на EBCDIC платформах

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

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

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 API, 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 репозиторием

Разное

perlsecret          Cекретные операторы и константы 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	Список экспериментальных функций в 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 на самом деле обозначает Патологически Эклектичный Мусорный Листер (Pathologically Eclectic Rubbish Lister), но никому не говорите, что я это сказал.

ПРИМЕЧАНИЯ

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

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

ПЕРЕВОДЧИКИ

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