Получить список имен всех файлов в каталоге (Perl)
Какой самый простой способ получить список полных имен всех файлов в данном каталоге (включая файлы в подкаталогах)?
Да я знаю о File::Find
модуль. Но есть ли более простой способ?
1 ответ
Решение
File::Find::Rule - очень полезный инструмент
perl -Mstrict -MFile::Find::Rule -wE'
my @all = File::Find::Rule->in(".");
say for @all
'
Вы можете сначала получить объект my $ffr = File::Find::Rule
а затем установить правила для него.
Итератор Path::Tiny-> также очень хорош для "ленивой" прогулки по дереву.
perl -Mstrict -MPath::Tiny -wE'
my $iter = path(".")->iterator({recurse => 1});
while (my $path = $iter->()) { say $path }
'
где вы можете опросить найденный контент очень удобно. Модуль имеет много других применений и удобств для работы с файловой системой, это почти "побочная" функция.
Path:: Iterator:: Rule также заслуживает внимания, как по функциональности, так и по простоте использования.