Программирование на Perl. 3-е издание

Ларри Уолл Том Кристиансен Джон Орвант



Предисловие

Часть I. Обзор

Глава 1. Обзор Perl
Введение
Естественные и искусственные языки
Стандартный пример
Дескрипторы файлов
Операторы
Управляющие структуры
Регулярные выражения
Обработка списков
Ваше незнание вам (сильно) не навредит

Часть II. Подробное рассмотрение

Глава 2. Всякая всячина
Атомы
Молекулы
Встроенные типы данных
Переменные
Имена
Скалярные значения
Контекст
Списочные значения и массивы
Хеши
Таблицы символов и дескрипторы файлов
Операторы ввода

Глава 3. Унарные и бинарные операторы
Термы и списковые операторы (слева)
Оператор "стрелка"
Автоинкрементирование и автодекрементирование
Возведение в степень
Идеографические унарные операторы
Операторы связывания
Мультипликативные операторы
Аддитивные операторы
Операторы сдвига
Именованные унарные операторы и операторы проверки файлов
Операторы сравнения
Операторы равенства
Операторы поразрядного действия
Логические операторы в стиле C (короткого действия)
Оператор диапазона
Условный оператор
Операторы присвоения
Операторы запятой
Списковые операторы (справа)
Логические and, or, not и xor
Операторы C, отсутствующие в Perl

Глава 4. Операторы и объявления
Простые операторы
Составные операторы
Операторы if и unless
Операторы Loop
Голые блоки
goto
Глобальные объявления
Объявления с областью видимости
Прагмы

Глава 5. Поиск по шаблону
Бестиарий регулярных выражений
Операторы поиска по шаблону
Метасимволы и метазнаки
Классы символов
Квантификаторы
Позиции
Захват и кластеризация
Чередование
Управление процессом
Сложные шаблоны

Глава 6. Подпрограммы
Синтаксис
Семантика
Передача ссылок
Прототипы
Атрибуты подпрограмм

Глава 7. Форматы
Переменные форматов
Нижние колонтитулы

Глава 8. Ссылки
Что такое ссылка?
Создание ссылок
Использование жестких ссылок
Символические ссылки
Фигурные скобки, квадратные скобки и кавычки

Глава 9. Структуры данных
Массивы массивов
Хеши массивов
Массивы хешей
Хеши хешей
Хеши функций
Более сложные записи
Сохранение структур данных

Глава 10. Пакеты
Таблицы символов
Автозагрузка

Глава 11. Модули
Использование модулей
Создание модулей
Замещение встроенных функций

Глава 12. Объекты
Краткая памятка по объектно-ориентированному жаргону
Система объектов Perl
Вызов методов
Создание объектов
Наследование классов
Деструкторы экземпляров
Управление данными экземпляров
Управление данными класса
Резюме

Глава 13. Перегрузка
Прагма overload
Обработчики перегрузки
Перегружаемые операторы
Конструктор копий (=)
Когда обработчик перегрузки отсутствует
Константы перегрузки
Открытые функции перегрузки
Наследование и перегрузка
Перегрузка на этапе исполнения
Диагностика перегрузки

Глава 14. Связанные переменные
Связывание скаляров
Связывание массивов
Связанные хеши
Связывание указателей файлов
Тонкая ловушка при отвязывании
Модули для связывания в CPAN

Часть III. Perl как технология

Глава 15. Unicode
Байты и символы
Действие символьной семантики
Осторожно, работают &ren2bold;

Глава 16. Межпроцессное взаимодействие
Сигналы
Файлы
Каналы
System V IPC
Сокеты

Глава 17. Потоки
Модель процессов
Модель потоков

Глава 18. Компиляция
Жизненный цикл программ на Perl
Компилирование кода
Выполнение кода
Серверы компиляторов
Генераторы кода
Средства разработки кода
Avant-Garde Compiler, Retro Interpreter

Глава 19. Интерфейс командной строки
Обработка команд
Переменные окружения

Глава 20. Отладчик Perl
Использование отладчика
Команды отладчика
Настройка отладчика
Автоматическое выполнение
Поддержка отладчика
Профайлер Perl

Глава 21. Внутри и снаружи
Как работает Perl
Внутренние типы данных
Расширение Perl (использование C из Perl)
Встраивание Perl (использование Perl из C)
Мораль басни

Часть IV. Perl как культура

Глава 22. CPAN
Каталог modules архива CPAN
Использование модулей CPAN
Создание модулей CPAN

Глава 23. Защита данных
Обработка ненадежных данных
Обработка ошибок синхронизации
Работа с ненадежным кодом

Глава 24. Часто используемые приемы программирования
Обычные промахи новичков
Эффективность
Стиль программирования
Разговор на беглом Perl
Генерирование программ

Глава 25. Переносимость программ Perl
Перевод строки
Остроконечники, тупоконечники и ширина чисел
Файлы и файловые системы
Взаимодействие с системой
Межпроцессное взаимодействие (IPC)
Внешние подпрограммы (XS)
Стандартные модули
Дата и время
Интернационализация
Стиль

Глава 26. Документация в формате POD
О pod в двух словах
Трансляторы и модули Pod
Создание собственных инструментов для работы с pod
Ловушки pod
Документирование ваших программ Perl

Глава 27. Культура Perl
Практическая история
Поэзия Perl
Часть V. Справочный материал

Глава 28. Специальные имена
Специальные имена, сгруппированные по типам
Специальные переменные в алфавитном порядке

Глава 29. Функции
Функции Perl по категориям
Функции Perl в алфавитном порядке

Глава 30. Стандартная библиотека Perl
Библиотековедение
Обзор библиотеки Perl

Глава 31. Модули прагм

Глава 32. Стандартные модули

Глава 33. Диагностические сообщения
Глоссарий
Предметный указатель