Поиск файлов в Perl

Программирование Поиск файлов в Perl

Помечено: 

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 2 нед., 4 дн. назад.

  • Автор
    Сообщения
  • #5853
    @admin

    Для поиска файлов по именам в Perl используется модуль File::Find::Rule.
    Он позволяет искать файлы и папки как по именам, так и с использованием регулярных выражений.

    Скачать модуль File::Find::Rule Вы можете как из репозитария своего дистрибутива, так и из CPAN:

    Для поиска директорий используется метод directory, в параметре in которому следует передать путь к начальной папке для поиска:

    @subdirs = File::Find::Rule->directory->in( $directory );

    На выходе мы получим массив папок.

    Для поиска файлов используется метод file:

    @files = File::Find::Rule->file()
    ->name( '*.txt' )
    ->in( '~' );
    print join("\n", @dublicates);

    В параметре name следует указать маску искомых файлов, а в in — начальную папку для поиска. Поиск будет производиться рекурсивно во всех подпапках. Выходными данными, как и в случае с поиском папок, будет массив имен найденных файлов.

    Также отмечу, что в параметре name помимо маски файла можно задавать регулярные выражения:

    ->name( qr/\.(txt|pdf)$/ )

Для ответа в этой теме необходимо авторизоваться.