I. Общий обзор
1. Обзор Perl
Введение
Естественные и искусственные языки
Пример вычисления среднего
Дескрипторы файлов
Операторы
Управляющие конструкции
Регулярные выражения
Чего вы не знаете, то вам (сильно) не навредит
II. Анатомия Perl
2. Всякая всячина
Атомы
Молекулы
Встроенные типы данных
Переменные
Имена
Скалярные значения
Контекст
Списочные значения и массивы
Хеши
Таблицы имен и дескрипторы файлов
Операторы ввода
3. Унарные и бинарные операторы
Термы и списочные операторы (влево)
Оператор «стрелка»
Автоинкрементирование и автодекрементирование
Возведение в степень
Идеографические унарные операторы
Операторы связывания
Мультипликативные операторы
Аддитивные операторы
Операторы сдвига
Именованные унарные операторы и операторы проверки файлов
Операторы сравнения
Операторы равенства
Оператор интеллектуального сопоставления
Операторы поразрядного действия
Логические операторы (короткого пути) в стиле С
Оператор диапазона
Условный оператор
Операторы присваивания
Оператор запятой
Списочные операторы (вправо)
Логические and, or, not и xor
Операторы С, отсутствующие в Perl
4. Операторы и объявления
Простые операторы
Составные операторы
Операторы if и unless
Оператор given
Операторы циклов
Оператор goto
Окаменевшие switch/case
Оператор многоточия
Глобальные объявления
Объявления с областью видимости
Прагмы
5. Поиск по шаблону
Бестиарий регулярных выражений
Операторы поиска по шаблону
Метасимволы и метазнаки
Классы символов
Квантификаторы
Позиции
Захват и группировка
Группировка без сохранения
Управление процессом
Замысловатые шаблоны
Определение собственных утверждений
6. Юникод
Не рассказывай, а показывай
Доступ к данным в Юникоде
Ошибочные представления о регистре
Графемы и нормализация
Сравнение и сортировка строк Юникода
Дополнительные возможности
Ссылки
7. Подпрограммы
Синтаксис
Семантика
Передача ссылок
Прототипы
Атрибуты подпрограмм
8. Ссылки
Что такое ссылка?
Создание ссылок
Использование жестких ссылок
Символические ссылки
Фигурные скобки, квадратные скобки и кавычки
9. Структуры данных
Массивы массивов
Хеши массивов
Массивы хешей
Хеши хешей
Хеши функций
Более сложные записи
Сохранение структур данных
10. Пакеты
Таблицы имен
Квалифицированные имена
Пакет по умолчанию
Изменение пакета
Автозагрузка
11. Модули
Загрузка модулей
Выгрузка модулей
Создание модулей
Замещение встроенных функций
12. Объекты
Краткая памятка по объектно-ориентированному жаргону
Система объектов Perl
Вызов методов
Создание объектов
Наследование классов
Деструкторы экземпляров
Управление данными экземпляров
Управление данными класса
Лось в посудной лавке (Moose)
Резюме
13. Перегрузка
Прагма overload
Обработчики перегрузки
Перегружаемые операторы
Конструктор копирования (=)
Когда обработчик перегрузки отсутствует (noniethod и fallback)
Перегрузка констант
Открытые функции перегрузки
Наследование и перегрузка
Перегрузка на этапе выполнения
Диагностика перегрузки
14. Связанные переменные
Связывание скаляров
Связывание массивов
Связывание хешей
Связывание дескрипторов файлов
Неочевидная ловушка при отвязывании
Модули для связывания в CPAN
III. Perl как технология
15. Межпроцессные взаимодействия
Сигналы
Файлы
Каналы
System V1PC
Сокеты
16. Компиляция
Жизненный цикл программ
Компиляция кода
Выполнение кода
Серверы компиляторов
Генераторы кода
Средства разработки кода
Компилятор и интерпретатор: авангардизм и ретро
17. Интерфейс командной строки
Обработка команд
Переменные среды
18. Отладчик Perl
Использование отладчика
Команды отладчика
Настройка отладчика
Автоматическое выполнение
Поддержка отладчика
Профилировщик Perl
19. CPAN
История
Обзор репозитория
Экосистема CPAN
Установка модулей из CPAN
Создание дистрибутивов для CPAN
IV. Perl как культура
20. Защита данных
Обработка ненадежных данных
Обработка ошибок синхронизации
Работа с ненадежным колом
21. Распространенные приемы программирования
Обычные промахи новичков
Эффективность
Стиль программирования
Беглый разговор на Perl
Генераторы программ
22. Переносимость программ Perl
Перевод строки
Старшинство байтов и ширина чисел
Файлы и файловые системы
Взаимодействие с системой
Межпроцессные взаимодействия (IPC)
Внешние подпрограммы (XS)
Стандартные модули
Дата и время
Интернационализация
Стиль
23. Документация в формате POD
Вкратце о pod
Трансляторы и модули pod
Создание собственных инструментов для работы с pod
Ловушки pod
Документирование программ Perl
24. Культура Perl
История практичности
Поэзия Perl
Достоинства программиста на Perl
События
Где и как получить помощь
V. Справочный материал
25. Специальные имена
Специальные имена, сгруппированные по типам
Специальные переменные в алфавитном порядке
26. Форматы
Форматы строк
Двоичные форматы
Форматы шаблонов
27. Функции
Функции Perl по категориям
Функции Perl в алфавитном порядке
28. Стандартная библиотека Perl
Библиотечное дело
Обзор библиотеки Perl
29. Модули прагм
attributes
autodie
autouse
base
bigint
bignum
bigrat
blib
bytes
charnames
constant
deprecate
diagnostics
encoding
feature
fields
filetest
if
inc::latest
integer
less
lib
locale
mro
open
ops
overload
overloading
parent
re
sigtrap
sort
strict
subs
threads
utf8
vars
version
vmsish
warnings
Пользовательские прагмы
Глоссарий
Алфавитный указатель
Добавить комментарий