Получить список имен всех файлов в каталоге (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 также заслуживает внимания, как по функциональности, так и по простоте использования.

Другие вопросы по тегам