Я думаю, что вы, возможно, неправильно понимаете цель continue
или природу падения в конструкции переключателя.
Каждый when
блок заканчивается неявным разрывом, поэтому given
завершается при успешном совпадении. Все, что continue
делает, это говорит блоку given
продолжить обработку условий when
и не прерывать их. Это не заставляет следующее when
условие волшебным образом быть истинным, когда оно не выполняется.
Учтите, что выводит дважды.
use feature ':5.10';
$x=1;
given ($x) {
when(1) {
say '1';
continue;
}
when ( /1/ ) {
say '1 again';
}
}