Filtrando elementos de uma matriz com elementos de outra matriz no Perl 6

Eu quero filtrar elementos de@array que começam com elementos de@search:

my @array = "aaaaa" .. "fffff";
my @search = "aaaa" .. "cccc";
.put for @array .grep: /^ @search /;

O problema é que leva 19 segundos. Então eu'pré-compilar' aregex paragrep, e o programa inteiro fica assim:

my @array = "aaaaa" .. "fffff";
my @search = "aaaa" .. "cccc";

my $search = "/@search.join('|')/".EVAL;

.put for @array .grep: * ~~ /^ <$search> /;

Agora são necessários 0,444s.

A pergunta: existe um método Perl 6 interno para fazer essas coisas? Algo como inserir umjunction dentro deregex...

questionAnswers(3)

yourAnswerToTheQuestion