Составление полного списка файлов заданной папки на Perl
Пример скрипта на Perl, который:
1) осуществляет рекурсивное сканирование содержимого заданной папки;
2) сохраняет результаты сканирования (список файлов) в файл.
#!/usr/local/bin/perl
# (c) 2007, mikhail@turenko.net
use strict;
# имя папки для сканирования по умолчанию (. = текущая папка)
my $dir = ".";
# берем имя папки, если задано аргументом командной строки
$dir = $ARGV[0] if defined $ARGV[0];
# вызов процедуры сканирования содержимого папки
my @list = scan_dir ( $dir );
# вызов процедуры сохранения массива в файл
&save_list ( @list );
# --------------------------------------------------------------------
sub scan_dir
# процедура рекурсивного сканирования папки
{
- my ($dir) = @_;
my @list;
for my $file (glob($dir.'/*'))
{
- push @list, $file; # добавляем в массив 1 элемент
if (-d $file) # если файл является папкой
{
- my @sub = scan_dir($file);
push @list, @sub;
}
}
return @list;
}
# --------------------------------------------------------------------
sub save_list
# процедура сохранения списка в файл
{
- my (@list) = @_;
open(F, '>file_list.txt');
print F join("\n", @list) . "\n";
close(F);
}
# --------------------------------------------------------------------
__END__
Постоянная ссылка ·
Добавьте на news2.ru
Похожие записи:
- Парсинг и генерация RSS на PHP и Perl
- Настраиваем DNS сервер на базе BIND
- Сертификация по ASP.NET на Brainbench
- Примеры регулярных выражений
- Чем паковать жабу


