Гипероператоры — 1

В Perl 6 появились так называемые гипероператоры, которые выполняют действия над составными операндами, например, массивами.

Внешне гипероператоры выглядят слегка перегруженными (есть мнение, что они напоминают ASCII-графику).

Например, есть два массива:

my @left = (1, 3, 5, 7);
my @right = (2, 4, 6, 8);

Чтобы поэлементно сложить эти два массива, иными словами, получить массив, в котором каждый элемент будет суммой соответствующих элементов @left и @right, можно воспользоваться гипероператором >>+<<: my @sum = @left >>+<< @right; say «@sum[]»; На печати появится строка 3 7 11 15. Принцип построения гипероператоров прост: к частям >> и << примыкают операнды-списки (массивы), а основное действие задает знак, стоящий в центре. Например, гипероператор >>~<<: осуществляет поэлементную конкатенацию: my @uc = (‘A’, ‘B’, ‘C’); my @lc = (‘a’, ‘b’, ‘c’); my @both = @uc >>~<< @lc;
say «@both[]»;

В массиве @both окажутся такие элементы: Aa Bb Cc.