Учебник Perl для начинающих
Perl — язык, который сделал регулярные выражения мощным инструментом обычного программиста.
Курс «Perl: язык для текста и системного администрирования» состоит из 6 разделов и 16 уроков: Зачем Perl, Переменные и контексты, Регулярные выражения, Ссылки и структуры данных, Подпрограммы и модули и Практика: обработка текста. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Зачем Perl
- История Perl и где он применяется сегодня
Как Ларри Уолл создал Perl в 1987 году для обработки текстов, почему язык называют «швейцарским ножом программиста» и где его используют в 2020-х: системное администрирование, биоинформатика, веб-легаси.
- Первая программа и запуск скрипта
Структура .pl файла на Perl: shebang-строка #!/usr/bin/perl, use strict и use warnings, вывод текста через print, запуск скрипта из терминала.
- История Perl и где он применяется сегодня
2 Переменные и контексты
- Скаляры: числа, строки, sigil $
Скалярные переменные Perl: что означает знак $ перед именем, объявление через my, автоматическое преобразование чисел в строки и обратно.
- Массивы и sigil @
Массивы в Perl: объявление через @, обход в цикле foreach, срезы массива и ключевая разница между $arr[0] и @arr.
- Хеши: пары ключ-значение
Хеши в Perl: sigil %, объявление пар ключ-значение, обращение к элементу через $hash{key}, обход хеша циклом foreach и функция keys.
- Скалярный и списковый контекст
Одна из самых непривычных особенностей Perl: как одно и то же выражение — массив, функция или вызов — ведёт себя по-разному в скалярном и списковом контексте.
- Скаляры: числа, строки, sigil $
3 Регулярные выражения
- Регулярные выражения: =~ и совпадения
Оператор привязки =~ в Perl: как искать совпадения по шаблону и почему Perl считается родиной удобных регулярных выражений.
- Замены через s/// и захваты через ()
Оператор замены s/шаблон/замена/ в Perl, группы захвата в скобках и обращение к найденным фрагментам через $1 и $2.
- Флаги регулярных выражений: g, i, m
Флаги g, i и m в регулярных выражениях Perl: глобальный поиск, регистронезависимость и построчный режим на практических примерах.
- Регулярные выражения: =~ и совпадения
4 Ссылки и структуры данных
- Ссылки: как сделать массив массивов
Как создать ссылку в Perl оператором \, разыменовать её через ->, и зачем это нужно для массива массивов.
- Вложенные структуры данных
Хеш массивов и массив хешей в Perl: как строить и обходить сложные вложенные структуры данных на практике.
- Ссылки: как сделать массив массивов
5 Подпрограммы и модули
- Подпрограммы: sub и @_
Как объявить подпрограмму в Perl через sub, что такое массив аргументов @_, как возвращать значение из функции. Примеры и разбор частых ошибок.
- use strict и use warnings
Зачем в начале каждого Perl-скрипта пишут use strict и use warnings, от каких ошибок эти директивы спасают и что происходит без них.
- Модули и CPAN
Что такое CPAN — библиотека готовых модулей для Perl, как подключить модуль директивой use и зачем не писать типовые задачи с нуля.
- Подпрограммы: sub и @_
6 Практика: обработка текста
- Обработка текстового файла построчно
Учимся читать файл в Perl построчно, находить нужные строки по шаблону и вытаскивать из них данные — на примере обработки лог-файла сервера.
- Однострочники Perl (one-liners)
Разбираем знаменитые perl -e команды: как обработать текстовый файл одной строкой в терминале, без создания отдельного .pl-файла с программой.
- Обработка текстового файла построчно