perl |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
=head1 НАЗВАНИЕ
perl — практический язык для извлечения данных и составления отчётов
=head1 СИНОПСИС
B<perl> S<[ B<-sTtuUWX> ]>
S<[ B<-hv> ] [ B<-V>[:I<переменные_конфигурации>] ]>
S<[ B<-cw> ] [ B<-d>[B<t>][:I<отладчик>] ] [ B<-D>[I<число/список>] ]>
S<[ B<-pna> ] [ B<-F>I<шаблон> ] [ B<-l>[I<восьмеричное_число>] ] [ B<-0>[I<восьмеричное_число/шестнадцатеричное_число>] ]>
S<[ B<-I>I<директория> ] [ B<-m>[B<->]I<модуль> ] [ B<-M>[B<->]I<'модуль...'> ] [ B<-f> ]>
S<[ B<-C [I<число/список>] >]>
S<[ B<-P> ]>
S<[ B<-S> ]>
S<[ B<-x>[I<директория>] ]>
S<[ B<-i>[I<расширение>] ]>
S<[ B<-e> I<'комманда'> ] [ B<--> ] [ I<файл_программы> ] [ I<аргумент> ]...>
Если вы новичок в Perl, вам лучше начать с L<perlintro> — общего введения для начинающих, которое предоставляет базовую информацию и поможет вам разобраться с подробной документацией Perl.
Руководство по Perl разбито на несколько частей для более удобного доступа.
=head2 Обзор
perl Обзор Perl (текущая глава)
perlintro Введение в Perl для начинающих
perltoc Оглавление документации Perl
=head2 Учебные руководства
perlreftut Краткое введение в ссылки в Perl
perldsc Введение в структуры данных Perl
perllol Структуры данных Perl: массивы массивов
perlrequick Регулярные выражения в Perl, начало
perlretut Руководство по регулярным выражениям в Perl
perlboot Руководство по ООП на Perl для начинающих
perltoot Руководство по ООП на Perl, часть 1
perltooс Руководство по ООП на Perl, часть 2
perlbot Приемы и примеры ООП на Perl
perlstyle Стиль написания кода на Perl
perlcheat Список трюков на Perl
perltrap Частые ошибки программистов на Perl
perldebtut Руководство по отладке Perl
perlfaq Часто задаваемые вопросы о Perl
perlfaq1 Общие вопросы о Perl
perlfaq2 Скачивание и получение информации о Perl
perlfaq3 Инструменты для разработки
perlfaq4 Обращение с данными
perlfaq5 Файлы и форматы
perlfaq6 Регулярные выражения
perlfaq7 Вопросы не входящие ни в одну из категорий выше
perlfaq8 Взаимодействие с системой
perlfaq9 Работа с сетью
=head2 Справочная документация
perlsyn Синтаксис Perl
perldata Структуры данных Perl
perlop Операторы в Perl и их приоритеты
perlsub Подпрограммы в Perl
perlfunc Встроенные функции Perl
perlopentut Руководство по функции open()
perlpacktut Руководство по фукнциям pack() и unpack()
perlpod POD-документация
perlpodspec Спецификация формата POD
perlrun Запуск и опции Perl
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 DBM фильтры в Perl
perlipc Взаимодействие между процессами в Perl
perlfork информация о fork() в Perl
perlnumber Cемантика чисел в Perl
perlthrtut Руководство по Perl потокам
perlothrtut Руководство по старым Perl потокам
perlport Руководство по портированию Perl
perllocale Поддержка локализации в Perl
perluniintro Введение в Юникод в Perl
perlunicode Поддержка Юникода в Perl
perlunifaq Частые вопросы о Юникоде в Perl
perlunitut Руководство по Юникоду
perlebcdic Размышления о запуске Perl на EBCDIC платформах
perlsec Безопасность в Perl
perlmod Perl модули: как они работают
perlmodlib Perl модули: как писать и использовать
perlmodstyle Perl модули: как правильно писать модули
perlmodinstall Perl модули: как устанавливать модули из CPAN
perlnewmod Perl модули: подготовка нового модуля для распространения
perlpragma Perl модули: написание собственных директив
perlutil Утилиты, поставляемые с дистрибутивом Perl
perlcompile Знакомство с компилятором Perl
perlfilter Фильтры исходных кодов Perl
perlglossary Глоссарий Perl
=head2 Внутреннее устройство и интерфейс к языку С
perlembed Встраивание интепретатора perl в ваше C или C++ приложение
perldebguts "Узкие места" и советы по отладке Perl
perlxstut Руководство по Perl XS
perlxs Perl XS API
perlclib Замены для функций стандартной библиотеки C
perlguts Описание внутреннего устройства Perl для тех, кто делает расширения
perlcall Соглашение о вызовах Perl из C
perlreapi Интерфейс к плагину регулярных выражений в Perl
perlreguts Устройство движка регулярных выражений Perl
perlapi Листинг Perl API (сгенерирован автоматически)
perlintern Внутренние функции Perl (сгенерирован автоматически)
perliol API на языке С для реализации уровней IO
perlapio Внутренний абстрактный интерфейс Perl IO
perlhack Руководство Perl-хакера
=head2 Разное
perlbook Книги про Perl
perlcommunity Информация о сообществе Perl
perltodo Список TODO для Perl
perldoc Поиск документации Perl в POD формате
perlhist Записи истории Perl
perldelta Изменения относительно прошлой версии Perl
perl595delta Изменения в версии Perl 5.9.5
perl594delta Изменения в версии Perl 5.9.4
perl593delta Изменения в версии Perl 5.9.3
perl592delta Изменения в версии Perl 5.9.2
perl591delta Изменения в версии Perl 5.9.1
perl590delta Изменения в версии Perl 5.9.0
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
perl573delta Изменения в версии Perl 5.7.3
perl572delta Изменения в версии Perl 5.7.2
perl571delta Изменения в версии Perl 5.7.1
perl570delta Изменения в версии Perl 5.7.0
perl561delta Изменения в версии Perl 5.6.1
perl56delta Изменения в версии Perl 5.6
perl5005delta Изменения в версии Perl 5.005
perl5004delta Изменения в версии Perl 5.004
perlartistic Лицензия Perl Artistic
perlgpl Лицензия GNU General Public License
=head2 Языко-зависимость
perlcn Perl для упрощенного китайского (кодировка EUC-CN)
perljp Perl для японского (кодировка EUC-JP)
perlko Perl для корейского (кодировка EUC-KR)
perltw Perl для традиционного китайского (кодировка Big5)
=head2 Платформо-зависимость
perlaix Заметки для Perl на AIX
perlamiga Заметки для Perl на AmigaOS
perlapollo Заметки для Perl на Apollo DomainOS
perlbeos Заметки для на BeOS
perlbs2000 Заметки для на POSIX-BC BS2000
perlce Заметки для на WinCE
perlcygwin Заметки для Perl на Cygwin
perldgux Заметки для Perl на DG/UX
perldos Заметки для Perl на DOS
perlepoc Заметки для Perl на EPOC
perlfreebsd Заметки для Perl на FreeBSD
perlhpux Заметки для Perl на HP-UX
perlhurd Заметки для Perl на Hurd
perlirix Заметки для Perl на Irix
perllinux Заметки для Perl на Linux
perlmachten Заметки для Perl на Power MachTen
perlmacos Заметки для Perl на Mac OS (Classic)
perlmacosx Заметки для Perl на Mac OS X
perlmint Заметки для Perl на MiNT
perlmpeix Заметки для Perl на MPE/iX
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
perluts Заметки для Perl на UTS
perlvmesa Заметки для Perl на VM/ESA
perlvms Заметки для Perl на VMS
perlvos Заметки для Perl на Stratus VOS
perlwin32 Заметки для Perl на Windows
По умолчанию страницы справки, упомянутые выше, устанавливаются в директорию F</usr/local/man>.
Существует дополнительная документация по модулям Perl. В конфигурации по умолчанию она находится в директории F</usr/local/lib/perl5/man> (или в поддиректории man в папке с модулем). Некоторые части этой дополнительной документации поставляются вместе с дистрибутивом Perl, но вы также найдете там документацию и для сторонних модулей.
Вы сможете просматривать документацию Perl с помощью команды man(1), включив нужные директории в загрузочные скрипты, или установив переменную окружения MANPATH. Чтобы узнать, куда были установлены страницы справки, выполните:
perl -V:man.dir
Если они установлены, например, в F</usr/local/man/man1> и F</usr/local/man/man3>, то все что вам надо - добавить родительскую папку (F</usr/local/man>) в конфигурацию утилиты man(1) или выставить переменную окружения MANPATH с этим значением. Если документация находится в разных директориях, то вам надо добавить все родительские директории.
Если по каким-то причинам это не сработало, вы можете воспользоваться поставляемым скриптом F<perldoc>. Его можно использовать и вместо man.
Если с вашим скриптом происходит что-то странное, и вы не знаете, что делать, попробуйте запустить его с ключом B<-w>. В большинстве случаев это укажет вам на источник проблем.
=head1 ОПИСАНИЕ
Perl - язык, оптимизированный для считывания любых текстовых файлов, извлечения из них информации и создания отчетов о полученных данных. Также он хорош для управления различными системами. Язык скорее эффективный (легкий в использовании, производительный, законченный), чем эффектный (компактный, элегантный, минималистичный).
Perl сочетает в себе (с точки зрения создателя, конечно) лучшие возможности С, B<sed>, B<awk> и B<sh>, так что люди, знакомые с этими языками, не должны испытать много трудностей (историки ЯП также отмечают присутствие наследия от B<csh>, Pascal и даже BASIC-PLUS). Синтаксис - С-подобный. В отличие от большиства UNIX утилит, Perl не ограничивает размер ваших данных - если имеется достаточно памяти, то Perl может считать весь ваш файл в одну строку. Уровень вложенности рекурсии не ограничен. Таблицы, использумые хэшами (которые иногда называют "ассоциативными массивами"), растут по мере необходимости, для предотвращения понижения производительности. Perl может эффективно использовать сложные техники сопоставления с образцом при обработке больших объемов данных. Будучи оптимизированным для работы с текстом, Perl также может работать и с бинарными данными, может представлять dbm файлы в виде хэшей. Perl скрипты с выставленным битом setsuid безопаснее, чем программы на С, за счет механизма слежения за потоком выполнения, который закрывает множество глупых брешей в безопасности.
Если у вас задача, для решения которой обычно применяются B<sed> или B<awk> или B<sh>, но в данном случае их возможностей не хватает, или решение должно работать быстрее, и вы не хотите писать маленькую глупую программку на С, то здесь вам поможет Perl. Кстати, существуют трансляторы из B<sed> и B<awk> в Perl.
Но это еще не все...
Начиная с 1993 (см. L<perlhist>) Perl 5ой ветки, переписанный почти с нуля, предоставляет следующие возможности:
=over 4
=item *
модульность и повторное использование кода благодаря модульной системе
Описанно в L<perlmod>, L<perlmodlib> и L<perlmodlib>.
=item *
встраиваемость и расширяемость
Описанно в L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>, L<perlguts> и L<xsubpp>.
=item *
создавайте свои "магические" переменные (в т.ч. многочисленные эмуляции DBM)
Описано в L<perltie> и L<AnyDBM_File>.
=item *
подпрограммы теперь могут быть переназначены, перехвачены и прототипированы
Описано в L<perlsub>.
=item *
структуры любого уровня вложенности и анонимные функции
Описано в L<perlreftut>, L<perlref>, L<perldsc> и L<perllol>.
=item *
Объектно-ориентированное программирование
Описано в L<perlobj>, L<perlboot>, L<perltoot>, L<perltooc> и L<perlbot>.
=item *
Поддержка легких процессов (нитей)
Описано в L<perlthrtut> и L<threads>.
=item *
поддержка Юникода, интернационализация и локализация
Описано в L<perluniintro>, L<perllocale> и L<Locale::Maketext>.
=item *
лексические области видимости
Описано в L<perlsub>.
=item *
улучшенные регулярные выражения
Описано в L<perlre> с допонительными примерами в L<perlop>.
=item *
улучшенный отладчик и интерактивное окружение с встроенной поддержкой редакторов
Описано в L<perldebtut>, L<perldebug> и L<perldebguts>.
=item *
Совместимость с POSIX 1003.1
Описано в L<POSIX>.
=back
Ладно, теперь I<точно> хватит рекламы.
=head1 ДОСТУПНОСТЬ
Perl доступен для большинства операционных систем, включая все UNIX-like платформы. Полный список можно найти в L<perlport/"Supported Platforms">.
=head1 ОКРУЖЕНИЕ
См. L<perlrun>.
=head1 АВТОР
Ларри Уолл <larry@wall.org> и множество помощников.
Если ваши случаи внедрения Perl и отзывы могут помочь другим в мотивации использования языка, или вы просто хотите выразить благодарность Ларри и другим разработчикам, то пишите на perl-thanks@perl.org.
=head1 ФАЙЛЫ
"@INC" директории с модулями
Original (English): perl
Translation: © Алексей Суриков, mikhail.lyubimov, chocky, sharifulin, Demiurh, dionys, Xendz .
