Насколько мне (и документам) известно, slurpies можно использовать только с массивом или хеш-параметры. Однако недавно я опечатался в синтаксисе и ввел то, что похоже на синтаксис для скалярного слаппи. К моему большому удивлению, это не привело к синтаксической ошибке. После некоторых экспериментов я определил, что разрешено следующее:
sub f(*$a) {}
sub g(**$a) {}
sub h(+$a) {}
Однако я не мог видеть, что (если вообще) делал этот синтаксис. Так что же происходит? Это недостаточно документированная функция? Ошибка, из-за которой неверный синтаксис не выдает ошибку? Что-то совсем другое?
\(*$a, *@bcdef)
, которая была бы фактически идентична\(*@ [$a, *@bcdef)
. Во многих случаях это может быть идентично\($a, *@bcdef)
. но не всегда из-за уплощения некоторых сларпи (особенно одиночной звезды). - person user0721090601   schedule 14.02.2021