Perl


1. Скалярные данные
Автоматическое преобразование между числами и строками
Бинарные операторы присваивания
Вещественные литералы
Встроенные предупреждения Perl
Выбор имен переменных
Вывод командой print
Значение undef
Интерполяция скалярных переменных в строках
Логические значения
Недесятичные целочисленные литералы
Оператор chomp
Операторы сравнения
Получение данных от пользователя
Приоритет операторов и ассоциативность
Скалярное присваивание
Скалярные переменные
Строки
Строковые литералы в апострофах
Строковые литералы в кавычках
Строковые операторы
Управляющая конструкция if
Управляющая конструкция while
Функция defined
Целочисленные литералы
Числа
Числовые операторы

2. Списки и массивы
<STDIN> в списочном контексте
Главная служебная переменная: $_
Интерполяция массивов в строках
Использование выражений, создающих скаляры, в списочном контексте
Использование выражений, создающих списки, в скалярном контексте
Обращение к элементам массива
Оператор reverse
Оператор sort
Операторы pop и push
Операторы shift и unshift
Принудительное использование скалярного контекста
Скалярный и списочный контекст
Сокращение qw
Специальные индексы массивов
Списочное присваивание
Списочные литералы
Управляющая конструкция foreach

3. Пользовательские функции
Аргументы
Возвращаемые значения
Вызов пользовательской функции
Вызов функции без &
Директива use strict
Нескалярные возвращаемые значения
О лексических переменных (my)
Оператор return
Определение пользовательской функции
Приватные переменные в пользовательских функциях
Пустые списки параметров
Списки параметров переменной длины
Статические приватные переменные
Улучшенная версия &max

4. Ввод и вывод
Аргументы вызова
Ввод данных оператором <>
Вывод функцией say
Закрытие файлового дескриптора
Запись данных в стандартный вывод
Изменение файлового дескриптора вывода по умолчанию
Использование файловых дескрипторов
Массивы и printf
Недопустимые файловые дескрипторы
Открытие файлового дескриптора
Повторное открытие стандартного файлового дескриптора
Предупреждающие сообщения и функция warn
Файловые дескрипторы
Фатальные ошибки и функция die
Форматирование вывода
Чтение данных из стандартного ввода

5. Хеши
Зачем использовать хеш?
Интерполяция элементов хеша
Обращение к элементам хеша
Присваивание хешей
Типичные операции с хешами
Функции keys и values
Функция delete
Функция each
Функция exists
Хеш %ENV
Хеш как единое целое
Что такое хеш?
«Большая стрелка»

6. В мире регулярных выражений
Альтернатива
Группировка в шаблонах
Инвертированные сокращения
О метасимволах
Простые квантификаторы
Простые регулярные выражения
Символьные классы
Сокращенная запись символьных классов
Что такое регулярные выражения?

7. Поиск совпадений с использованием регулярных выражений
Автоматические переменные совпадения
Границы слов
Добавление пропусков (/x)
Другие модификаторы
Жизненный цикл переменных частичных совпадений
Именованное сохранение
Интерполяция в шаблонах
Модификаторы
Несохраняющие круглые скобки
Общие квантификаторы
Объединение модификаторов
Оператор привязки =~
Переменные совпадения
Поиск совпадения оператором m//
Примеры определения приоритетов
Приоритеты
Совпадение точки с любым символом (/s)
Тестовая программа
Якоря

8. Обработка текста с использованием регулярных выражений
m// в списочном контексте
Глобальная замена (/g)
Другие возможности регулярных выражений
Другие ограничители
Замена с использованием оператора s///
Минимальные квантификаторы
Многострочный поиск
Модификаторы режимов
Обновление нескольких файлов
Оператор split
Переключение регистра
Редактирование «на месте» в командной строке
Функция join

9. Другие управляющие конструкции
Автоинкремент и автодекремент
Значение автоинкремента
Значение ускоренного логического оператора
Логические операторы
Метки блоков
Модификаторы выражений
Оператор //
Оператор last
Оператор next
Оператор redo
Простейший блок
Секция else в unless
Секция elsif
Тайная связь между foreach и for
Тернарный оператор ?:
Управление циклом
Управляющая конструкция for
Управляющая конструкция unless
Управляющая конструкция until
Управляющая конструкция until
Управляющие конструкции с операторами неполного вычисления

10. Модули Perl
CGI.pm
Базы данных и DBI
Использование отдельных функций модуля
Использование простых модулей
Модуль File::Basename
Модуль File::Spec
Модуль File::Spec
Поиск модулей
Установка модулей

11. Получение информации о файлах
Операторы проверки файлов
Поразрядные операторы
Проверка нескольких атрибутов одного файла
Работа с битовыми строками
Сгруппированная проверка файлов
Функции stat и lstat
Функция localtime

12. Операции с каталогами
Альтернативный синтаксис глобов
Глобы
Дескрипторы каталогов
Изменение временных меток
Изменение разрешений
Операции с файлами и каталогами
Переименование файлов
Перемещение по дереву каталогов
Рекурсивное чтение каталогов
Смена владельца
Создание и удаление каталогов
Ссылки и файлы
Удаление файлов

13. Строки и сортировка
Использование функции sprintf для вывода денежных сумм
Операции с подстроками и функция substr
Поиск подстроки по индексу
Расширенная сортировка
Сортировка по нескольким ключам
Сортировка хеша по значениям
Форматирование данных функцией sprintf
Форматирование данных функцией sprintf

14. Умные сравнения и given)when
Команда given
Обычное сравнение
Оператор умного сравнения
Приоритеты умного сравнения
Условия when с несколькими элементами

15. Управление процессами
Ветвление
Выполнение команд в обход командного процессора
Обратные апострофы в списочном контексте
Обратные апострофы и сохранение вывода
Отправка и прием сигналов
Переменные среды
Процессы как файловые дескрипторы
Функция exec
Функция system

16. Расширенные возможности Perl
Отбор элементов списка
Перехват ошибок в блоках eval
Преобразование элементов списка
Срезы
Срезы массивов
Срезы хешей
Упрощенная запись ключей хешей