символ.
-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) но действуют они только в фазе компиляции программы. Обычно их помещают или в начале или в конце программы.
Декларация подпрограмм позволяет использовать имя подпрограммы как списковый оператор начиная с момента декларирования.
Пример:sub test; # Декларация подпрограммы test
$var1 = test $0; # Использование как оператора списка.
Декларации подпрограмм могут быть загружены из отдельного файла предложением require или загружено и импортировано в текущую область имен предложением use. Подробно см. главу Модули.
Простое предложение.
Простое предложение обязательно заканчивается символом ';' если только это не последнее предложение в блоке где ';' можно опустить. Заметьте что существуют операторы такие как eval{} и do{} которые выглядят как сложные предложения но на самом деле это термы и требуют обязательного указания конца предложения.
Любое простое предложение может содержать single модификатор перед ';'. Существуют следующие single модификаторы:
if EXPRunless EXPRwhile EXPRuntil EXPR
где EXPR – выражение возвращающее логическое значение true или false.
Модификаторы while и until вычисляются в начале предложения кроме блока do который выполняется первым.
if EXPR– Модификатор «если». Предложение выполняется если EXPR возвращает true.
Пример:
$var = 1;$var2 = 3 if $var > 0; # Результат: $var2 = 3while EXPR – Модификатор «пока». Предложение выполняется столько раз покаEXPR = trueПример:$var = 1;print $var++ while $var < 5; # Печать $var с инкрементом
Результат: 1234
until EXPR – Модификатор "до ". Предложение выполняется до тех пор пока EXPR = false
Пример:
$var = 1;print $var++ until $var > 5; # Печать $var с инкрементом
Результат: 12345
unless EXPR – Модификатор «если не» . Обратный к if. Выражение выполняется есле EXPR = false.
Пример:
$var = 1;print $var++ unless $var > 5; # Печать $var с инкрементом
Результат: 1
Сложные предложения.
Последовательность простых предложений ограниченная функциональными ограничителями называется блоком. В Перл это может быть целый файл, последовательность предложений в операторе eval{} или чаще всего это множество простых предложений ограниченных круглыми скобками '{}'.
Сужествуют следующие виды сложных предложений:
if (EXPR)
Последние комментарии
2 часов 6 минут назад
2 часов 23 минут назад
2 часов 44 минут назад
5 часов 25 минут назад
12 часов 49 минут назад
18 часов 33 минут назад