Первоначально шаблон
(Al*yn)
Вы меняете его на
(A[aiou~NFKPQRIJ]?l[aiou~NFKPQRIJ]?*[aiou~NFKP...
Как говорится в nessage, [aiou~NFKPQRIJ]?*
неверно.Вы не указали, что хотите, поэтому трудно дать вам исправление.
Может быть, вы хотите
(A(?:[aiou~NFKPQRIJ]?)l(?:[aiou~NFKPQRIJ]?)*(?:[aiou~NFKP...
Если это так, просто используйте
$rx =~ s/.\K/(?:$vowels?)/g;
Может быть, вы хотите
(A(?:[aiou~NFKPQRIJ]?)(?:l[aiou~NFKPQRIJ]?)*(?:[aiou~NFKP...
Если это так, вам понадобится намного лучший анализатор регулярных выражений, чем /./
.