Я пытался изучить Perl6 из Perl5, но проблема в том, что регулярное выражение работает по-другому и не работает должным образом.
Я делаю тестовый пример, чтобы вывести список всех файлов в каталоге, заканчивающемся на ".p6 $"
Этот код работает с конечным символом
if 'read.p6' ~~ /read\.p6$/ {
say "'read.p6' contains 'p6'";
}
Однако, если я попытаюсь поместить это в подпрограмму:
multi list_files_regex (Str $regex) {
my @files = dir;
for @files -> $file {
if $file.path ~~ /$regex/ {
say $file.path;
}
}
}
больше не работает. Я не думаю, что проблема с регулярным выражением, но с именем файла, может быть какой-то атрибут, о котором я не знаю.
Как я могу получить имя файла, совпадающее с регулярным выражением в Perl6?