If EXPR, unless EXPR, while EXPR, until EXPR

де EXPR - вираз, що повертає логічне значення true або false. Модифікатори while і until обчислюються на початку речення, окрім do, який виконується першим.

if EXPR- Модифікатор "якщо". Програма виконується, якщо EXPR повертає true.

$var = 1;

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

while EXPR - Модифікатор "доки". Програма виконується доки EXPR = true

$var = 1;

print $var++ while $var < 5; # Результат: 1234

until EXPR- Модифікатор "до ". Програма виконується до тих пір, поки EXPR = false

$var = 1;

print $var++ until $var > 5; # Результат: 12345

unless EXPR - Модифікатор "якщо не". Зворотний до if. Вираз виконується, якщо EXPR = false.

$var = 1;

print $var++ unless $var > 5; # Результат: 1

Складні вирази.Послідовність простих виразів, обмежена функціональними обмежувачами, називається блоком. У Perl це може бути цілий файл, послідовність виразів в операторові 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. Тому необхідно використовувати круглі дужки для позначення блоку.

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. Якщо мітка відсутня, то ці оператори посилаються на початок найближчого циклу. Блок після continue виконується завжди перед тим, як обчислюється логічне вираз EXPR. Це подібно EXPR3 в вирази for, тому в цьому блоці зручно змінювати лічильники і прапори циклу, навіть якщо застосовується оператор next.








Дата добавления: 2016-04-02; просмотров: 676;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.