Perl6에서 파일 이름이 패턴과 일치하는 설치된 모든 모듈을 찾을 수 있습니까?
Perl5에서는 다음과 같이 작성합니다.
use File::Spec::Functions qw( catfile );
my %installed;
for my $dir ( @INC ) {
my $glob_pattern = catfile $dir, 'App', 'DBBrowser', 'DB', '*.pm';
map { $installed{$_}++ } glob $glob_pattern;
}
현재 설치된 모듈의 원래 파일 이름을 가져올 수있는 방법은 없습니다. 그러나 모듈 이름 을 얻을 수 있습니다.
sub list-installed {
my @curs = $*REPO.repo-chain.grep(*.?prefix.?e);
my @repo-dirs = @curs>>.prefix;
my @dist-dirs = |@repo-dirs.map(*.child('dist')).grep(*.e);
my @dist-files = |@dist-dirs.map(*.IO.dir.grep(*.IO.f).Slip);
my $dists := gather for @dist-files -> $file {
if try { Distribution.new( |%(from-json($file.IO.slurp)) ) } -> $dist {
my $cur = @curs.first: {.prefix eq $file.parent.parent}
take $_ for $dist.hash<provides>.keys;
}
}
}
.say for list-installed();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다