Оператор 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. Какое минимальное кол-во переменных требуется для написания такой программы?