Введение в Perl :: Маслов Владимир Викторович
Страница: 4 из 31 | |||
| ||||||||||||||
| ||||||||||||||
КАТЕГОРИИ КНИГПОСЛЕДНИЕ ОТЗЫВЫ О КНИГАХМихаил (19.04.2017 - 06:11:11) Антихрист666 (18.04.2017 - 21:05:58) Ладно, теперь поспешили вы... (18.04.2017 - 20:50:34) Роман (18.04.2017 - 18:12:26) АНДРЕЙ (18.04.2017 - 16:42:55) СЛУЧАЙНОЕ ПРОИЗВЕДЕНИЕРазвратница! Как ты влечёшь к себе, как манишь, как изощрённо соблазняешь, 19.08.10 - 14:53 Хотите чтобы ваше произведение или ваш любимый стишок появились здесь? добавьте его! |
Синтаксис Перл программа (скрипт) состоит из последовательности деклараций и предложений. Единственно что должно быть обязательно декларировано это форматы отчетов и подпрограммы (функции). Все не объявленные переменные, массивы, имеют значение 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 блок выполняется. Пример: $var =1; if ($var == 1) { print $var,"\n"; } Результат: 1 if ( EXPR ) BLOCK else BLOCK2 – Если EXPR = true выполняется BLOCK иначе BLOCK2. Пример: $var =2; if ($var == 1) { print «\$var = 1\n»; } else { print «\$var не равно 1\n»; } Результат: $var не равно 1 if ( EXPR1 ) BLOCK1 elsif ( EXPR2 ) BLOCK2 ... else BLOCK – Если EXPR1 = true выполняется BLOCK1 иначе если EXPR2 = true выполняется BLOCK2 иначе ... иначе BLOCK . Пример : $var = 1; if ($var == 0) { print «\$var = 0\n»; } elsif ($var == 1) { print «\$var = 1\n»; } else { print «Не известное \$var\n»; } Результат: $var = 1 Цикл while выполняет BLOCK до тех пор пока EXPR = true . Метка LABEL не обязательна и состоит из идентификатора завершающегося символом ':'. Метка необходима при использовании внутри блока цикла управляющих операторов next , last и redo . |
ИНТЕРЕСНОЕ О ЛИТЕРАТУРЕ
ТОП 20 КНИГ
ТОП 20 АВТОРОВ
| ||||||||||||
|