Помните ли вы [статью про оператор последовательностей ][1]в Perl 6? Последним аргументом он принимает ограничение, которое останавливает генерацию последовательности. К примеру
1, 2, 4 ... 32; # 1 2 4 8 16 32
1, 2, 4 ... * > 10; # 1 2 4 8 16
В первом случае используется числовое сравнение. Во втором запись \* > 10 интерпретируется как замыкание -> $x \{ $x > 10 \}. Оператор последовательностей выполняет «волшебное» сравнение в зависимости от типа соответствия. Это сравнение называется «умным соответствием» («smartmatching»), и эта концепция появляется во многих местах Perl 6. Примеры: [Читать дальше →][2]
[1]:
http://habrahabr.ru/post/253047/
[2]:
http://habrahabr.ru/post/254029/#habracut