1. Старт: установка Perl на Ubuntu, окружение, первый скрипт
Старт: установка Perl на Ubuntu, окружение, первый скрипт
Зачем DevOps-инженеру Perl в 2026
Perl по-прежнему часто встречается в инфраструктуре: старые, но критичные скрипты, утилиты для обработки логов, glue-code вокруг legacy-систем, плагины к мониторингу, системные инструменты на Unix. Цель этого урока — быстро и безопасно поднять окружение на Ubuntu, понять как запускать Perl-код, и написать первый скрипт в стиле production.Что будет дальше по курсу
В этом курсе мы пойдём от базового синтаксиса к продвинутым темам и DevOps-практикам:Чеклист готовности
К концу урока у вас должно быть:perl script.pl и через shebang.use strict; use warnings; и проверка синтаксиса perl -c.Установка Perl на Ubuntu
Вариант A: системный Perl из репозитория Ubuntu
На Ubuntu Perl обычно уже установлен. Проверим версию:Если Perl не установлен:
Важно для DevOps: не ломайте системный Perl, который использует сама ОС и пакеты. Мы будем аккуратно.
Полезные команды:
Примечание про -E: он включает более современный режим однострочников, включая say.
Вариант B: отдельный Perl под пользователя через perlbrew
Если вам нужна другая версия Perl (например, новее, чем в Ubuntu), используйте perlbrew — это безопасно, не трогает системный Perl.Официальный репозиторий проекта: perlbrew (App::perlbrew) на GitHub
Быстрый старт (прочитайте вывод команд, они подскажут следующие шаги):
Установка конкретной версии (пример):
Про Perl 7
Perl 7 как идея и направление обсуждается, но в продакшене вы почти наверняка будете работать с Perl 5.x. В рамках курса мы учимся так, чтобы ваши знания были применимы к реальным системам прямо сейчас.IDE и окружение разработки
VS Code
Ставим VS Code удобным для Ubuntu способом и добавляем расширения.Документация: Visual Studio Code Docs
Рекомендуемые расширения:
Padre
Padre — специализированная IDE для Perl, встречается реже, но может быть полезна.Справка по дистрибутиву: Padre на MetaCPAN
Минимальная конфигурация для терминала
Для DevOps-работы важно уметь быстро проверить код без IDE:Если perldoc не найден:
Документация Perl онлайн: perldoc.perl.org
Структура Perl-скрипта: базовый шаблон
Ниже — минимальный production-friendly шаблон: строгий режим, предупреждения, аккуратный вывод.Создайте файл hello.pl:
Запуск:
Запуск как исполняемого файла (shebang)
Сделайте файл исполняемым:Что делает строка #!/usr/bin/env perl:
env ищет perl в вашем PATH.use strict; use warnings; — почему это важно
Эти директивы заставляют Perl быть дисциплинированным:strict запрещает неявные переменные и часть опасных практик.warnings показывает подозрительные места, которые часто становятся багами.Это особенно критично для DevOps-скриптов, где ошибка может затронуть инфраструктуру.
Быстрые однострочники (one-liners) для DevOps
Perl часто используют как “швейцарский нож” в пайплайнах.Вывести строку:
То же, но с say:
Печать строк из stdin с нумерацией (похоже на nl):
Проверка версии и путей:
Где ] — числовая версия (исторически, иногда встречается в старом коде).
Как читать документацию: perldoc
В Perl документация — часть инструментария.Команды, которые реально помогают каждый день:
Если вы видите неизвестную функцию, начните с perldoc -f имя_функции.
Практикум-лабораторная
Ниже не “вопросы”, а пошаговые действия, как в реальном DevOps-lab. Делайте в отдельной папке, например~/perl-labs/module-1/.hello.pl по шаблону из урока и запустите через perl hello.pl../hello.pl.env.pl, который печатает значение PATH и текущего пользователя, используя переменные окружения:Запустите и сравните вывод с:
.\n" }'Выведите версию Perl двумя способами ( ]) и сравните.Откройте документацию по print и chomp через perldoc -f ... и найдите: чем print отличается от say, и что делает chomp.Типовой flow для запуска и проверки Perl-скрипта
!Блок-схема, которая фиксирует рабочий цикл DevOps при написании и проверке Perl-скриптовПрогресс-трекер урока и геймификация
Трекер
| Активность | Статус |
|---|---|
| Проверил perl -v и which perl | ☐ |
| Установил (или подтвердил) Perl на Ubuntu | ☐ |
| Настроил VS Code или рабочий терминальный workflow | ☐ |
| Запустил hello.pl через perl hello.pl | ☐ |
| Запустил hello.pl через chmod +x и ./hello.pl | ☐ |
| Выполнил perl -c и понял смысл проверки синтаксиса | ☐ |
| Использовал perldoc -f для функции | ☐ |
| Сделал минимум 2 one-liner | ☐ |Бейджи
Badge: Environment Ready — окружение готово, hello.pl работает двумя способами.
Badge: CLI Tinkerer — сделал 2+ one-liner и применил perldoc -f.Лидерборд
Лидерборд считается по сумме бейджей и скорости сдачи домашних проектов (без потери качества).Чаты по темам
Чтобы не смешивать вопросы разных уровней:#setup-ubuntu — установка, PATH, пакеты, права.
#vscode-perl — плагины, линтинг, форматирование.
#cli-oneliners — однострочники, пайпы, текстовая обработка.
#course-announcements — обновления и важные объявления. Домашний проект
Проект: bootstrap-скрипт диагностики Perl-окружения для DevOps
Напишите скрипт perl_doctor.pl, который запускается и так:perl perl_doctor.pl
./perl_doctor.plТребования:
В начале: use strict; use warnings;.
Печатает:
- путь к Perl (^V)
- текущего пользователя ($ENV{USER} или альтернативно из окружения)
- текущую директорию (используйте системный вызов через backticks или модуль будет позже, поэтому пока допустим простой вариант)
Завершает работу кодом 0 при успехе.
Если переменная окружения USER не определена, печатает предупреждение через warn и всё равно продолжает.Формат сдачи:
один файл perl_doctor.pl
пример вывода (копипаст из терминала)
команда, которой вы запускали (оба варианта) Рекомендация для DevOps-стиля: вывод должен быть читабельным и стабильным, чтобы его можно было прикрутить к CI.
Что закрепляем перед следующим уроком
Дальше мы начнём синтаксис со скаляров и строк. Перед этим важно уверенно владеть:запуском Perl-скриптов
strict/warnings
perldoc`
Полезные ссылки: