Доступ к элементам массивов

Скалярной переменной $p присваивается значение одного из элементов массива @a. Индекс определяет переменная $l, которая после выполнения присваивания увеличивается на единицу. Отличие от прежнего синтаксиса Perl 5 заключается в том, что для обращения к отдельному элементу массива не требуется изменять символ, обозначающий тип переменной. Такая конструкция уже встречалась в функции main() при обращении к первому аргументу командной строки: @ARGS[0].
Чуть далее в коде встретится такое присваивание:

@a[$l,$h] = @a[$h,$l];

Здесь меняются местами элементы массива с индексами $l и $h. Эта конструкци полностью аналогична используемой в Perl 5: два элемента массива также образуют массив, поэтому перед именем списка стоит символ @. В Perl 6 такие рассуждения не имеют смысла: уж если имя a обозначает массив, всегда нужно ставить символ @.

Аналогична ситуация с доступом к элементам хэшей: перед именем хэша всегда остается символ %.