Синтаксис

Перл программа (скрипт) состоит из последовательности деклараций и предложений.

Единственно что должно быть обязательно декларировано это форматы отчетов и подпрограммы (функции). Все не объявленные переменные, массивы, имеют значение 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) BLOCK

if (EXPR) BLOCK else BLOCK

if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK

LABEL while (EXPR) BLOCK

LABEL while (EXPR) BLOCK continue BLOCK

LABEL for (EXPR; EXPR; EXPR) BLOCK

LABEL foreach VAR (LIST) BLOCK

LABEL BLOCK continue BLOCK

Обратите внимание, что сложные предложения описаны в термах блоков а не предложений как в языках C или Pascal. Поэтому необходимо всегда использовать круглые скобки для обозначения блока.

if (EXPR) BLOCK – Вычисляется логическое выражение EXPR и если true блок выполняется.


Логин
Пароль
Запомнить меня