Запуск интерпретатора и режим отладки
Таблица 14.1. Опции командной строки.
Опция | Назначение |
---|---|
-0 [nnn] | Задает разделитель записей файла ввода, устанавливая значение специальной переменной $/. Необязательный параметр nnn – восьмеричный код символа; если отсутствует, принимается равным 0 (код символа \0). Эта опция удобна, если при каждом запускесценария Perl в него необходимо передавать файлы с разными символами завершения записи |
-а | Включает режим авторазбиения строки ввода при совместном использовании с опцией – n или – р (строка передается функции split (}, а результат ее выполнения помещается в специальный массив @г). Умалчиваемый разделитель – пробел; опция – F позволяет задать регулярное выражение для иного разделителя |
-с | Проверка синтаксиса программы без ее выполнения (блоки BEGIN, END и use выполняются, так как это необходимо для процесса компиляции) |
-d[: модуль] | Запускает сценарий в режиме отладки под управлением модуля отладки или трассировки, установленного как: Devel:: модуль |
-D [число/список] | Устанавливает флаги отладки |
-е ' строка кода ' | Выполнение строки кода Perl, заданной параметром этой опции, а не файла сценария файл_программы, указанного в командной строке вызова интерпретатора. В строке кода можно задать несколько операторов, разделенных символом ';'. Допускается задание нескольких опций – е. (В Windows строка кода задается в двойных кавычках и для использования самих кавычек в коде Perl необходимо применять управляющую последовательность \".) |
-F/per выраж/ | Задает регулярное выражение для разделителя при автоматической разбивке строки файла ввода в случае задания опции – а. Например, -F/-.+/ определяет в качестве разделителя одно или более двоеточий. По умолчанию используется пробел / /. Символы "/" при задании per выраж не обязательны |
-i {расширение] | Задает режим редактирования по месту файла, переданного как параметр в сценарий Perl. Используется совместно с опциями – n или – р. Редактирование выполняется по следующей схеме: файл переименовывается (если задано расширение), открывается файл вывода с именем исходного файла и все операции print () сценария осуществляют вьшод в этот новый файл. Параметр расширение используется для задания имени копии файла по следующей схеме: если в нем нет символов "*", то оно добавляется в конец имени исходного файла; каждый символ "*" этого параметра заменяется именем исходного файла |
-Ткаталог | Задает каталог поиска сценариев Perl, выполняемых операциями do, require и use (сохраняется как элемент специального массива @INC). Также задает каталоги размещения файлов, включаемых в сценарий Perl директивой finclude препроцессора С. Можно использовать несколько опций для задания необходимого количества каталогов поиска |
– 1 [ nnn ] | Включает автоматическую обработку концов строк ввода. Работа в этом режиме преследует две цели:
|
-m[-] модуль – М [ – ] модуль -[гаМ][-] модуль= пар! [, пар2 ].. |
Выполняет оператор use module () (опция – т) или use module (опция – м) перед выполнением сценария Perl. Если параметр модуль задан с дефисом, то use заменяется на по. Третья форма этих опций позволяет передать параметры в модуль при его загрузке |
-n | Заданный сценарий Perl выполняется в цикле: while (0) { сценарий Perl }Это позволяет обработать программой Perl в цикле каждую строку всех файлов, имена которых переданы в качестве параметров сценария Perl. Эта опция эмулирует функциональность sed с ключом – n и awk |
-Р | Аналогичен опции – п, но добавляется печать каждой обрабатываемой строки, как в редакторе sed: while (<>) { сценарий Perl } continue { print or die "-p destination: $!\n"; } |
_Р | Перед компиляцией сценарий Perl обрабатывается препроцессором С, что позволяет использовать в нем команды препроцессора #define, # include и все команды условной компиляции С (#if, felse и т. д.). В опции – I можно задать каталоги расположения файлов, включаемых командой t include |
-s | Включает режим синтаксического анализа строки вызова сценария Perl на наличие после имени файла сценария, но до параметров имен файлов "пользовательских опций" (параметров, начинающихся с дефиса). Такие параметры извлекаются из массива @ARGV и в программе объявляются и определяются переменные с именами введенных опций. Следующий сценарий напечатает "Задана опция optl" тогда и только тогда, когда он будет вызван с опцией – optl: #! /usr/bin/perl – s if ($optl) { print " Задана опция optl\n"; } |
-S | Поиск файла программы Perl файл программы осуществляется с использованием значения переменной среды PATH |
-т | Включает режим проверки на безопасность полученных извне данных в операциях с файловой системой. Полезен при реализации CGI-сценариев. Эта опция должна быть первой в списке опций интерпретатора peri, если она применяется к сценарию |
-u | Создание дампа ядра после компиляции сценария Perl. Последующее использование программы undump позволяет создать двоичный выполняемый файл сценария |
_u | Разрешает выполнение небезопасных операций. При использовании этой опции в UNIX программа Perl выполняется в незащищенном режиме и ей предоставляется полный доступ к файловой системе |
-V | Отображает номер версии, а также другую важную информацию об интерпретаторе peri |
_V [: переменная ] | Отображает информацию конфигурации интерпретатора peri (расположение необходимых библиотек, значения переменных среды и т. д.). Если задано имя переменной среды, отображает ее установленное значение |
-W | Включает режим отображения предупреждений во время компиляции программы Perl. Рекомендуется всегда применять эту опцию |
-х [каталог] | Извлекает и выполняет сценарий Perl, расположенный в текстовом файле. Эта возможность удобна, если сценарий прислан по электронной почте. Интерпретатор сканирует файл, пока не найдет строку, начинающуюся с символов "#! " и содержащую слово "peri". После этого выполняется сценарий до лексемы END. Если задан параметр каталог, то перед выполнением сценария он становится текущим |