|
защите. Обычно это нужно для программ
работающих в режиме повышенной привелегии (setuid, setguid).
Желательно для CGI скриптов.
-u
Принудительный дамп памяти после компиляции скрипта. Этот дамп
можно потом использовать для создания исполняемого файла с
помощью программы undump.
-U
Разрешение выполнять опасные операции. Например стереть директорию
или выполнять явно не закрытую программу.
-v
Вывод номера версии Пел.
-w
Вывод имен переменных используемых только один раз, имен скаляров
используемых до их определения, имен переопределяемых подпрограмм,
ссылок на неопределенный указатели файлов, попыток записи в файлы
открытых только на "чтение", употребление не коретных записей чисел,
использование массивов как скаляров, рекурсия более 100 уровней.
-x директория
Режим запуска скрипта вставленного в файл содержащий
обычный текст. Началом скрипта считаестся строка с символами '#!'
в начале и содержащия слово perl. Концом - строка с '__END__'
Указанная директория становится текущей в момент исполнения.
Если необходимо читать последующие строки то это лучше делать
через указатель файла DATA.
* Синтаксис *
Пел программа (скрипт) состоит из последовательности деклараций и предложений.
Единственно что должно быть обязательно декларировано это форматы отчетов
и подпрограммы (функции). Все не объявленные переменные, массивы, имеют
значение 0 или null.
Декларации (объявления).
Пел имеет свободный формат. Комментарии начинаются с символа '#' и
продолжаются до конца строки.
Декларации могут использоваться в любом месте программы так же как и
предложения (statements) но действуют они только в фазе компиляции
программы. Обычно их помещают или в начале или в конце программы.
Декларация подпрограмм позволяет использовать имя подпрограммы
как списковый оператор начиная с момента декларирования.
Пример:
sub test; # Декларация подпрограммы test
$var1 = test $0; # Использование как оператора списка.
Декларации подпрограмм могут быть загружены из отдельного файла
предложением require или загружено и импортировано в текущую
область имен предложением use. Подробно см. главу Модули.
Простое предложение.
Простое предложение обязательно
заканчивается символом ';' если только это не последнее предложение
в блоке где ';' можно опустить. Заметьте что существуют операторы
такие как eval{} и do{} которые выглядят как сложные предложения
но на самом деле это термы и требуют обязательного указания конца
предложения.
Любое простое предложение может содержать single модификатор
перед ';'. Существуют следующие single модификаторы:
if EXPR
unless EXPR
while EXPR
until EXPR
где
|
|