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
...