"Дмитрий Леонов. Использование Perl в интернет-технологиях" - читать интересную книгу автора

Эту же операцию можно применить к списку:
($a, $b, $c, $d)[0, 1];
Эта техника используется, к примеру, для получения информации о
времени: функция localtime преобразует результат, возвращаемый функцией time
(время в секундах от 1.01.1970), в зависимости от контекста, либо в строку
вида "Fri Sep 15 11:12:13 2000", либо в массив из девяти элементов (секунды,
минуты, часы, день, месяц, год, день недели, день года, признак летнего
времени):
($day, $month, $year) = (localtime(time))[3, 4, 5];
Следует отметить, что месяцы, дни года и дни недели начинаются с нуля,
причем нулевым днем недели считается воскресенье, а годы считаются от 1900
года. Таким образом, 2000 году соответствует значение 100 (из-за того, что
многие программисты забыли этот факт, в начале 2000 года на разных страницах
сети можно было наблюдать дату вида 1.01.100 или 1.01.19100).
При записи списков вместо операции "," можно воспользоваться => :
запись ("one", 1, "two", 2, "three", 3) эквивалентна (one => 1, two
=>2, three => 3), что может сделать список более наглядным.
Для работы с массивом как со стеком используются функция push,
добавляющая элементы (один или несколько) в конец массива, и функция pop,
удаляющая последний элемент. Для работы с началом массива используются
аналогичные функции unshift и shift. По умолчанию все эти функции работают с
встроенным массивом @_.
Функция reverse меняет порядок следования элементов списка-аргумента на
обратный и возвращает результат. Функция sort по умолчанию сортирует
аргументы по возрастанию, рассматривая их как строковые переменные.
Помимо простых массивов, в Perl существуют ассоциативные массивы, или
хэши. Их отличие от простых массивов в том, что индексами являются не
последовательные целые числа, а произвольные скалярные величины.
Инициализируются хэши списком, четные элементы которого (начиная с нуля),
являются индексом, четные - значением, и начинаются с символа %:
%a = (one => 1, two =>2, three => 3);
Доступ к элементу хэша записывается как $a{1} (в нашем примере вернет
"one").
Функция key возвращает список ключей переданного ей хэша, функция
values - список значений. Функция each последовательно проходит по хэшу,
возвращая пару ключ-значение в виде списка из двух элементов. Удалить
элемент хэша можно функцией delete:
delete $a{1};
Представить себе современный язык программирования, не имеющий
ссылочных типов данных, невозможно. Не обделен ими и Perl. Здесь можно
получить ссылку на любой из встроенных типов, и присвоить ее некоторой
скалярной переменной:
$ref1 = \$var;
$ref2 = \@array;
$ref3 = \%hash;
Для доступа к скалярным переменным, на которых ссылается ссылка, можно
воспользоваться следующими конструкциями:
$$ref1;
${$ref1};