Существует несколько переменных темы, по одной на каждый сигил: $ , @ ,% _ и даже & _ (да, процедуры в Perl6 являются первоклассными гражданами).До определенного момента вы также можете использовать Whither (*) и создать Wh WhidCode в выражении, сохранив еще больше текста (смотри, мам! Никаких фигурных скобок!).
Вы можете использовать форму массива для несколькихпеременные:
my &block = { sum @_ }; say block( 2,3 )
Но главная проблема, с которой они сталкиваются, заключается в том, что они представляют собой отдельные переменные, неспособные отразить сложность вызовов блоков.Приведенный выше код можно переписать с помощью переменных-заполнителей, таких как:
my &block = { $^a + $^b }; say block( 2,3 )
Но представьте, что у вас в руках есть некоммутативная вещь.Как здесь:
my &block = { @_[1] %% @_[0] }; say block( 3, 9 )
Это становится неуклюжим и менее выразительным, чем
my &block = { $^divi %% $^divd }; say block( 3, 9 ); # OUTPUT: «True»
Хитрость здесь в том, что переменные-заполнители присваиваются в алфавитном порядке, с divd перед divi и diviсокращение от делимого и деление на разделенное (которое вы могли бы использовать, если хотите).
В конце концов, есть много способов сделать это.Вы можете использовать все, что захотите.