Введение в Perl [Владимир Викторович Маслов] (fb2) читать постранично, страница - 3

- Введение в Perl 244 Кб, 66с. скачать: (fb2) - (исправленную)  читать: (полностью) - (постранично) - Владимир Викторович Маслов

 [Настройки текста]  [Cбросить фильтры]

символ.

-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 EXPR

unless EXPR

while EXPR

until EXPR

где EXPR – выражение возвращающее логическое значение true или false.

Модификаторы while и until вычисляются в начале предложения кроме блока do который выполняется первым.

if EXPR– Модификатор «если». Предложение выполняется если EXPR возвращает true.

Пример:

$var = 1;

$var2 = 3 if $var > 0; # Результат: $var2 = 3

while 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)