2 s Состояние стека
4 l Состояние стека имен
8 t Трассировка исполнения
16 o Создание оператора узла
32 c Строковое/числовое преобразование
64 p Вывод команды препроцессора для -P
128 m Распределение памяти
256 f Обработка формата
512 r Синтаксический разбор регулярных выражений
1024 x Дамп синтаксического дерева
2048 u Проверка защиты
4096 L «Утечка» памяти
8192 H Дамп хеша
16384 X Распределение scratchpad
32768 D Очистка
-eкоманда
Выполнение скрипта из одной строки указанного в командной строке.
-Fшаблон
Указывает шаблон разделения в режиме работы с ключом -a
-iрасширение
Применяется для резервной копии файла обрабатываемого оператором ' <>'. Оригинал хранится в файле с тем же именем что и исходный, но с указанным расширением.
Пример:
perl -p -i.old -e «s/рядовой/ефрейтор/» file
– Поменять все слова «рядовой» на «ефрейтор» в файле file
а оригинал записать в файле file.old
-Iдиректория
Директория includ- файлов для С препроцессора. Применяется с ключом –P
по умолчанию это /usr/includeи /usr/lib/perl.
-lчисло
Автоматическая обработка символа конца строки.
Работает в двух случаях.
1. Отбрасывает последний символ читаемых строк для режимов -nи -p
2. Присваивает указанное значение переменной $\. Таким образом к концу каждой строки выводимой оператором print добавляется этот символ.
-n
Зацикливает скрипт и последовательно обрабатывает файлы указанные в командной строке. Позволяет создавать команды подобные sed или awk.
Операторы BEGIN и END дают возможность делать начальные и конечные установки. Содержимое файлов не выводится.
-p
То же что и -nно печатает обрабатываемые строки файлов.
-P
Предварительная обработко препроцессором языка С. Будьте внимательны и не применяйте в комментариях слова 'if', 'else' или 'define' т.к. это команды С – препроцессора.
-s
Включение режима обработки ключей командной строки запуска скрипта.
Все аргументы с символом '-' в начале, считаются ключом и переменным с таким же именем присваивается значение true.
-S
Использование системной переменной PATH для поиска скрипта.
Данный ключ применяется в системах не воспринимающих последовательность " #!" в начале скрипта для указания интерпретатора.
-T
Режим проверки «дыр» в защите. Обычно это нужно для программ работающих в режиме повышенной привелегии (setuid, setguid). Желательно для CGI скриптов.
-u
Принудительный дамп памяти после компиляции скрипта. Этот дамп можно потом использовать для создания исполняемого файла с помощью программы undump.
-U
Разрешение выполнять опасные операции. Например стереть директорию или выполнять явно не закрытую программу.
-v
Вывод номера версии Перл.
-w
Вывод имен переменных используемых только один раз, имен скаляров используемых до их определения, имен переопределяемых подпрограмм, ссылок на неопределенный указатели файлов, попыток записи в файлы открытых только на «чтение», употребление не коретных записей чисел, использование массивов как скаляров, рекурсия более 100 уровней.
-x директория
Режим запуска скрипта вставленного в файл содержащий обычный текст. Началом скрипта считаестся строка с символами ' #!' в начале и содержащия слово perl. Концом – строка с ' __END__'
Указанная директория становится текущей в момент исполнения. Если необходимо читать последующие строки то это лучше делать через указатель файла DATA.
Перл программа (скрипт) состоит из последовательности деклараций и предложений.
Единственно что должно быть обязательно декларировано это форматы отчетов и подпрограммы (функции). Все не объявленные переменные, массивы, имеют значение 0 или null.
Декларации (объявления).
Перл имеет свободный формат. Комментарии начинаются с символа ' #' и продолжаются до конца строки.
Декларации могут использоваться в любом месте программы так же как и предложения (statements) но действуют они только в фазе компиляции программы. Обычно их помещают или в начале или в конце программы.
Читать дальше