Базы данных. Пономарев А.А. - 44 стр.

UptoLike

Составители: 

элемент, результирующее значение представляет собой скаляр. Если
использовать знак $ вместо знака @, то скрипт будет ссылаться на скалярную
величину. Это замечание является очень важным. Квадратные скобки
указывают, что скрипт ссылается на массив. Знак $, в свою очередь, означает
ссылку на скалярную величину.
Инициализация массива @weekdays осуществляется путем выборки
части массива @days. В предыдущем примере массив @days использовался
без индекса. Когда индекс опущен, Perl ссылается на весь массив.
Аналогичным образом в предыдущем примере массив @days
инициализировался списком литералов. Кроме того, что массиву могут
присваиваться в качестве значений литералы, скрипт может также
присваивать массивам значения переменных или даже других массивов, как
показано ниже:
@stuff = ($age, $name)
@FriendsOfMine = ('Joe','Mary', @FriendsOfYours);
В следующем примере используются части массивов:
@weekend = @days[0,6] ; # результат ('Sun','Sat')
print (@days[1..5,0,6]); # выведет 'MonTueWedThuFriSunSat'
Если скрипт использует переменную типа массив в контексте скаляра,
то значением служит число элементов массива. Скалярным контекстом
является такой контекст, где только скалярные значения имеют смысл.
Например, следующее выражение использует скалярный контекст для
массива stuff для того, чтобы определить число элементов, содержащееся в
массиве. Если число элементов больше (или равно) двум, то скрипт выдает
сообщение и заканчивает исполнение:
(@stuff >= 2) || die "Too much stuff! \n";
Функция die служит директивой языку Perl закончить выполнение и
выдать при этом указанное сообщение. Если сообщение не содержится, то
функция просто заканчивает выполнение скрипта. Perl также поддерживает
специальную конструкцию $#-переменная, которая возвращает последнее
значение индекса в массиве. Например, выражение for использует
переменную $[ для того, чтобы определить начальное значение индекса
массива, и $# для определения последнего из элементов массива. При этом с
помощью выражения for выводятся значения каждого из элементов:
for ($i =$[; $i <= $#stuff; $i++)
{
print $stuff[$i];
}
Записанный цикл for можно заменить следующим эквивалентным
выражением:
Print @stuff;
44