Причина, по которой вы не можете сопоставить гласный с комбинированным символом, используя / <[aeiou]> <:Sk>* /
, заключается в том, что строки в Perl 6 работают на уровне графемы. На этом уровне ų̄
уже является одним символом, а <[aeiou]>
как класс символов уже соответствует одному целому символу.
Правильное решение, как указал Хокон в другом ответе, - использовать наречие ignoremark
. Вы можете поместить его перед регулярным выражением, например rx:m/ <[aeiou]> /
или внутри него, или даже включать и выключать его в разных точках с помощью :m
и :!m
.