Оглавление
Предисловие
Часть I. Общий обзор
Глава 1. Обзор Perl
Введение
Естественные и искусственные языки
Пример вычисления среднего
Дескрипторы файлов
Операторы
Управляющие конструкции
Регулярные выражения
Чего вы не знаете, то вам (сильно) не навредит
Часть II. Анатомия Perl
Глава 2. Всякая всячина
Атомы
Молекулы
Встроенные типы данных
Переменные
Имена
Скалярные значения
Контекст
Списочные значения и массивы
Хеши
Таблицы имен и дескрипторы файлов
Операторы ввода
Глава 3. Унарные и бинарные операторы
Термы и списочные операторы (влево)
Оператор «стрелка»
Автоинкрементирование и автодекрементирование
Возведение в степень
Идеографические унарные операторы
Операторы связывания
Мультипликативные операторы
Аддитивные операторы
Операторы сдвига
Именованные унарные операторы и операторы проверки файлов
Операторы сравнения
Операторы равенства
Оператор интеллектуального сопоставления
Операторы поразрядного действия
Логические операторы (короткого пути) в стиле C
Оператор диапазона
Условный оператор
Операторы присваивания
Оператор запятой
Списочные операторы (вправо)
Логические and, or, not и xor
Операторы C, отсутствующие в Perl
Глава 4. Операторы и объявления
Простые операторы
Составные операторы
Операторы if и unless
Оператор given
Операторы циклов
Оператор goto
Окаменевшие switch/case
Оператор многоточия
Глобальные объявления
Объявления с областью видимости
Прагмы
Глава 5. Поиск по шаблону
Бестиарий регулярных выражений
Операторы поиска по шаблону
Метасимволы и метазнаки
Классы символов
Квантификаторы
Позиции
Захват и группировка
Группировка без сохранения
Управление процессом
Замысловатые шаблоны
Определение собственных утверждений
Глава 6. Юникод
Не рассказывай, а показывай
Доступ к данным в Юникоде
Ошибочные представления о регистре
Графемы и нормализация
Сравнение и сортировка строк Юникода
Дополнительные возможности
Ссылки
Глава 7. Подпрограммы
Синтаксис
Семантика
Передача ссылок
Прототипы
Атрибуты подпрограмм
Глава 8. Ссылки
Что такое ссылка?
Создание ссылок
Использование жестких ссылок
Символические ссылки
Фигурные скобки, квадратные скобки и кавычки
Глава 9. Структуры данных
Массивы массивов
Хеши массивов
Массивы хешей
Хеши хешей
Хеши функций
Более сложные записи
Сохранение структур данных
Глава 10. Пакеты
Таблицы имен
Квалифицированные имена
Пакет по умолчанию
Изменение пакета
Автозагрузка
Глава 11. Модули
Загрузка модулей
Выгрузка модулей
Создание модулей
Замещение встроенных функций
Глава 12. Объекты
Краткая памятка по объектно-ориентированному жаргону
Система объектов Perl
Вызов методов
Создание объектов
Наследование классов
Деструкторы экземпляров
Управление данными экземпляров
Управление данными класса
Лось в посудной лавке (Moose)
Резюме
Глава 13. Перегрузка
Прагма overload
Обработчики перегрузки
Перегружаемые операторы
Конструктор копирования (=)
Когда обработчик перегрузки отсутствует (nomethod и fallback)
Перегрузка констант
Открытые функции перегрузки
Наследование и перегрузка
Перегрузка на этапе выполнения
Диагностика перегрузки
Глава 14. Связанные переменные
Связывание скаляров
Связывание массивов
Связывание хешей
Связывание дескрипторов файлов
Неочевидная ловушка при отвязывании
Модули для связывания в CPAN
Часть III. Perl как технология
Глава 15. Межпроцессные взаимодействия
Сигналы
Файлы
Каналы
System V IPC
Сокеты
Глава 16. Компиляция
Жизненный цикл программ на Perl
Компиляция кода
Выполнение кода
Серверы компиляторов
Генераторы кода
Средства разработки кода
Компилятор и интерпретатор: авангардизм и ретро
Глава 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
Пользовательские прагмы
Глоссарий
Алфавитный указатель