Титульная страница
ISO 9000 ISO 14000 Forum
Титульная страница
Цель системы качества
Управление качеством
ISO
ISO 9000
ISO 13485
ISO 14000
ISO 17025
OHSAS 18001
ISO 19011
Total Quality Management
Project Management
Фармацевтика
Отраслевые стандарты
Информационные технологии
Оформление документации
Ссылки 
Поиск на сайте
Forum
Реклама на сайте





Управляющие структуры.

Блоки операторов.

{
	1_operator;
	2_operator;
	3_operator;
	...
	last_operator;		#	with or witout ";"
}

Оператор if/unless.

if(выражение) {
	op_1;
	op_2;
	op_3;
} else {
	op_1;
	op_2;
	op_3;
}

Управляющее выражение вычисляется как строковая величина в скалярном контексте (если это уже строка, то ничего не изменится, если это число, то оно преобразуется в строку). Если строка пуста, либо состоит из одного символа "0", то значение выражения - ложь. Все остальное - "истина".

Пример:

print "how old are you? ";
$a = <STDIN> ;
chomp($a);
if($a < 18) {
	print "So, you're not old enougt to vote, eh?\n";
} else {
	print "Old enough! Cool! So go vote!\n";
	$voter++;
}

Оператор unless:

print "how old are you? ";
$a = <STDIN> ;
chomp($a);
unless($a < 18) {
	print "Old enough! Cool! So go vote!\n";
	$voter++;
}
if(выражение) {
	op_1;
	op_2;
	op_3;
} elsif(выражение 2) {
	op_1;
	op_2;
	op_3;
} else {
	op_1;
	op_2;
	op_3;
}

Оператор while/until.

while(выражение) {
	op_1;
	op_2;
	op_3;
}

until(выражение) {
	op_1;
	op_2;
	op_3;
}

Оператор do {} while/until.

do {
	op_1;
	op_2;
	op_3;
} while выражение;

Пример:

$stops = 0;
do {
	$stops++;
	print "Next stop? ";
	chomp($location = <STDIN>);
} until $stops > 5 || $location eq 'home';

Оператор for.

for($i = 1; $i <= 10; $i++) {
	print "$i ";
}

Оператор foreach.

Этот оператор получает список значений и присваивает их по очереди скалярной переменной, выполняя с каждым последующим присваиванием блок кода

foreach $i (@список) {
	op_1;
	op_2;
	op_3;
}

Замечание:Скалярная переменная $i - локальна для данного цикла.

Пример:

@a = qw(one two three four five);
foreach $b (reverse @a) {
	print $b;
}

Имя скалярной переменной можно опустить. В этом случае, Вы указали имя переменной $_.

@a = qw(one two three four five);
foreach (reverse @a) {
	print ;
}

Используемая в цикле скалярная переменная представляет собой псевдоним для каждой переменной списка, а не просто копию ее значения. Изменяя скалярную переменную Вы изменяете и конкретный элемент списка:

@a = (3, 5, 7, 9);
foreach $one (@a) {
	$one *= 3;
}
# @one = (9, 15, 21, 27);
Rambler's Top100
Hosted by uCoz