Power Perl Education главная страница возможности Power Guest Book темы оформления настройка скрипта FAQ Download благодарности

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

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

{
	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);

Наши партнёры:
Каталог продукции ООО ВС Подшипник. Информация и прайс.
Советы и примеры - ремонтируем самостоятельно
Для вас Кулинарная книга, рецепты на каждый день.
Дамский уголок - внешность, здоровье, советы и консультации.


Copyright © ClericICN, 2002 - 2009