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

Категория: Perl , Чей-то софт Комментариев: 0

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

Скачать модуль File::Find::Rule Вы можете как из репозитария своего дистрибутива, так и из CPAN: http://search.cpan.org/~rclamp/File-Find-Rule-0.30/lib/File/Find/Rule.pm

Для поиска директорий используется метод 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)$/ )

В качестве примера могу привести утилиту, удаляющую все файлы, в именах которых сожержится конструкция «_ (число) _».
Скачать пример.

Остались вопросы? Задавайте!

Автор: Кто-то   @   26 апреля 2009 Комментариев: 0
Метки : ,

Поблагодарить автора

Webmoney Z163628999150, R61715184597

Комментариев: 0


Leave a reply

;) :| :x :twisted: :) 8O :( :roll: :P :oops: :o :mrgreen: :lol: :idea: :D :evil: :cry: 8) :arrow: :? :?: :!:

Предыдущая запись
«
Следующая запись
»