Создание серверных приложений на языке PERL
ba2f5a3f

Оператор Foreach



Оператор Foreach

foreach VAR (LIST) {operator}
Переменной VAR присваивается поочередно каждый элемент списка LIST и выполняется блок. Если VAR опущено, то элементы присваиваются встроенной переменной $_. Если в теле блока изменять значение VAR то это вызовет изменение и элементов списка т.к. VAR фактически указывает на текущий элемент списка. Вместо слова foreach можно писать просто for - это слова синонимы.

оператор ..

Элемент списка может включать операцию конструктора списка. Это два скалярных значения, разделенных двумя точками. Данная операция создает список значений, начиная с левого скалярного значения и кончая правым скалярным значением, с шагом 1.

Если правый скаляр меньше левого, то список будет пустым, так как в обратном направлении отсчет вести нельзя. Если последнее значение не соответствует целому числу шагов, то список заканчивается там, где приращение на единицу привело бы к появлению числа, не принадлежащего заданному диапазону. Ниже приведенная программа демонстрирует работу операторов foreach и "..":

#!/usr/bin/perl print "Content-Type: text/html\n\n"; @array=(1..10); foreach $a(@array){ print ($a,"<BR>"); }

* * * *

  • Как изменится длина 8-и элементного массива, если 2-ум его ячейкам присвоить пустую строку ("") ?
  • Если значения ячеек совпадают с номерами их индексов, то какое значение записано в 9-й ячейке массива?
  • Анологичный 9-и элементный массив. Какое значение будет записано в ячейке с номером "-1" ?
  • Какое число элеменотов вернет такая конструкция: ('3.8'..'9.1') ?

Напишите программу, выводящую все простые числа из диапазона (-28..53) включительно, используя конструктор списка и оператор Foreach. Какое минимальное кол-во переменных требуется для написания такой программы?



Содержание раздела