Perl#
Perl - это интерпретатор, выполняющий скрипты, написанные на языке Perl.
Функциональные возможности интерпретатора:
Выполнение кода: при выполнении скрипта интерпретатор Perl сначала преобразует исходный код в промежуточный байт-код, а затем запускает его.
Поддержка регулярных выражений: предоставляет поддержку регулярных выражений, использующихся для поиска, анализа и изменения текстовых данных.
Обработка массивов и хешей: поддерживает работу со сложными структурами данных, такими как массивы и ассоциативные массивы (хеши).
Модульная система: поддерживает использование модулей.
Отладка кода: имеет встроенную возможность отладки с помощью специального режима.
Интерактивный режим: позволяет программе взаимодействовать с пользователем в реальном времени.
Установка
Интерпретатор Perl устанавливается с помощью команды dnf install perl-interpreter. Подробнее про работу пакетного менеджера DNF в разделе «Управление программными пакетами: установка, обновление, удаление».
Использование интерпретатора#
Для работы с интерпретатором используйте команду:
perl <options> -- <file> <argument>
Где:
<options>- опции;--- символ, отключающий дальнейшую обработку опций;<file>- файл;<argument>- аргумент.
Опции#
Опции интерпретатора приведены в таблице ниже.
Опция |
Описание |
|---|---|
|
Установить символ-разделитель записей |
|
Включить автоматическое разделение входных данных на массив |
|
Указать, какие потоки должны быть установлены при работе с Unicode, используя число ( |
|
Проверить синтаксис скрипта без его выполнения |
|
Запустить скрипт с отладчиком Perl. Если указывается |
|
Запустить скрипт с отладчиком Perl, используя указанный модуль ( |
|
Установить флаги отладки, используя число ( |
|
Выполнить код ( |
|
Аналогично опции |
|
Отключить выполнение |
|
Указать регулярное выражение для разделения строки на элементы массива |
|
Вывести краткую справку |
|
Отредактировать файл через командную строку. Если указано расширение ( |
|
Добавить указанный каталог ( |
|
Включить автоматическую обработку окончаний строк. При использовании с |
|
Загрузить модуль перед выполнением скрипта. Если указан символ |
|
Аналогично опции |
|
Запустить указанный код в цикле, входные данные будут обработаны построчно, но не выведутся автоматически |
|
Аналогично опции |
|
Использовать режим синтаксического анализа вызова командной строки на наличие пользовательских опций после имени скрипта. Любые найденные опции удаляются из |
|
Найти скрипт в каталогах, указанных в переменной среды |
|
Включить режим проверки безопасности полученных данных |
|
Аналогично опции |
|
Создать дамп ядра после компиляции скрипта |
|
Разрешить выполнение небезопасных операций |
|
Вывести информацию о версии |
|
Вывести подробную информацию о конфигурации Perl |
|
Вывести значение указанной переменной ( |
|
Включить режим отображения предупреждений ( |
|
Включить все предупреждения, даже если они отключены в коде |
|
Отключить все предупреждения, даже если они включены в коде |
|
Игнорировать все до строки |
Аргументы опции -C#
Аргументы опции -C приведены в таблице ниже.
Буквенный код |
Число |
Описание |
|---|---|---|
|
|
Включает UTF-8 для |
|
|
Включает UTF-8 для |
|
|
Включает UTF-8 для |
|
|
Объединяет аргументы |
|
|
Устанавливает по умолчанию слой PerlIO для входных потоков |
|
|
Устанавливает по умолчанию слой PerlIO для выходных потоков |
|
|
Объединяет аргументы |
|
|
Включает UTF-8 для |
|
|
Делает аргументы |
|
|
Запускает режим отладки |
Флаги отладки опции -D#
Флаги отладки -D приведены в таблице ниже.
Число |
Буквенный код |
Описание |
|---|---|---|
|
|
Токенизация и анализ; с |
|
|
Стек снимков состояния; с |
|
|
Контекстная (циклическая) обработка стека |
|
|
Отслеживание выполнения |
|
|
Метод и разрешение перегрузки |
|
|
Преобразование строк/чисел |
|
|
Вывод информации о профилировании, состояние ввода исходного файла |
|
|
Выделение памяти и скалярных значений (Scalar Value) |
|
|
Обработка формата |
|
|
Анализ и выполнение регулярных выражений |
|
|
Дамп синтаксического дерева |
|
|
Проверки искажений |
|
|
Неофициальный, пользовательский взлом (зарезервировано для частного, неизданного использования) |
|
|
Распределение временного хранилища |
|
|
Очистка |
|
|
Распределение операционных блоков |
|
|
Токенизация |
|
|
Включение контрольных подсчетов выброшенных переменных (например, при использовании |
|
|
Отображение флагов |
|
|
Увеличение объема вывода в сочетании с другими флагами |
|
|
Копирование при записи |
|
|
Проверка согласованности внутренних структур |
|
|
Отключение вывода |
|
|
Отслеживание правильного сочетания разрешений |
|
|
Вывод определений подпрограмм, включая специальные блоки, такие как |
|
|
Отслеживание информации о локали |
|
|
Отслеживание обработки слоя PerlIO. Для этого присвойте необходимому файлу |
|
|
Отслеживание компиляции и выполнения |
Переменные среды#
Переменные среды приведены в таблице ниже.
Переменная |
Описание |
|---|---|
|
Путь к домашнему каталогу пользователя. Используется, если |
|
Путь к каталогу журнала. Используется, если |
|
Каталоги для поиска скриптов совместно с опцией |
|
Список каталогов, в которых Perl будет искать модули перед поиском в стандартных каталогах. Если переменная |
|
Дополнительные параметры командной строки, которые автоматически применяются при запуске |
|
Список слоев PerlIO, разделенный пробелом (или двоеточием) |
|
Имя файла или устройства, куда будет записываться отладочная информация; если переменная не определена, вывод по умолчанию направляется в |
|
Альтернатива |
|
Команда, выполняемая перед запуском отладчика. Может использоваться для настройки отладчика |
|
При значении |
|
Вывод статистики использования памяти после завершения работы Perl. Выводит статистику, если для |
|
Управляет уровнем деструктуризации объектов |
|
При значении |
|
Кодировка, применяемая при обработке различных литералов в исходном коде скрипта |
|
Управление seed внутренней хеш-функции |
|
Управление уровнем случайности при обходе ключей хеша (hash keys) и подобных операций |
|
Вывод информации о функции хеширования и seed, используемом для данного процесса, в шестнадцатеричном формате |
|
Запись сообщений отладки |
|
Управление обработкой сигналов |
|
Управление поведением Unicode. Аналогично опции |
|
Управление тем, включает ли массив |
|
Инициализация генератора случайных чисел, который применяется для различных целей |
Примеры использования#
Для запуска скрипта
script.pl, содержащего код Perl, выполните команду:perl script.plДля выполнения команды в интерактивном режиме используйте команду:
perl -e 'print "Hello, World!\n";'Вывод команды:
Hello, World!
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man perl
Или:
perl -h
Или:
perldoc perlrun