Массив – это список, состоящий из скалярных элементов. Перед именем переменной, которая является массивом, идет знак “@”.
Объявить массив можно следующим образом:
@m = ("раз", "два", "три"); #массив из трех элементов
В качестве элементов массива может быть любая скалярная единица (а скаляром, как мы помним по заметке про переменные в Перле, может быть число или строка символов).
Объявление массива можно упростить, использовав оператор qw//, который облекает каждый элемент списка, переданного ему, в одинарные кавычки (апострофы). Этот очень удобный способ часто используется при записи массивов:
@m = qw/ раз два три /; #читать код стало немного легче
Обращение к элементам массива происходит по индексу. В Перле индексы начинаются с 0. Например, чтобы вывести второй элемент нашего массива, используем такую строку:
print $m[1];
Не забываем, что выводим мы скалярное значение, поэтому перед именем массива мы используем символ скалярной переменной “$”.
Для добавления нового элемента в массив можно просто указать элемент с новым индексом и присвоить ему какое-то значение:
$m[7] = "новый элемент";
При этом элементы массива с индексами 3,4,5,6 будут иметь значения undef, так как они еще не были определены.
Для добавления нового элемента в конец массива используется функция push:
push @m, "восток"; #то же самое, что и $m[8]="восток"
Для удаления последнего элемента массива используется функция pop:
pop @m; #удаляет последний элемент массива
При этом функция pop возвращает значение удаляемого элемента, чем можно воспользоваться:
$name = pop @m; #удаляем последний элемент и сохраняем его в $name
Для добавления и удаления элементов, но из начала массива, используются аналогичные функции unshift и shift:
unshift @m, "новый"; #новый первый элемент
$first = shift @m;
Итак, мы рассмотрели основные операции над массивами в Перле. Осталось только взглянуть на то, как выводят массивы на экран. Это очень просто:
print @m;
print "@m";
В первом случае будут выведены все элементы массива в одной куче. А во втором случае они будут выведены с разделяющим пробелом. Второй способ нагляднее выводит содержимое массива на экран. Попробуйте создать свой массив и вывести его с помощью этих двух способов, и вы в этом убедитесь.