Чтение онлайн

ЖАНРЫ

Шрифт:

Применяется для резервной копии файла обрабатываемого оператором '<>'. Оригинал хранится в файле с тем же именем что и исходный, но с указанным расширением.

Пример:

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) но действуют они только в фазе компиляции программы. Обычно их помещают или в начале или в конце программы.

Декларация подпрограмм позволяет использовать имя подпрограммы как списковый оператор начиная с момента декларирования.

Пример:

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;

Поделиться с друзьями: