Как рекурсивно находить файлы / папки в Perl-скрипте?

У меня есть сценарий perl, который я написал для рекурсивного поиска файлов, находящихся в моих папках Windows. Я ввожу поисковый текст в качестве аргумента времени выполнения сценария perl, чтобы найти файл, в имени которого есть этот текст. Сценарий perl выглядит следующим образом:

use Cwd;

$file1 = @ARGV[0];    

#@res1 = glob "*test*";
#@res1 = glob "$file1*";
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
foreach (@res1)
{
    print "$_\n";
}

Но он не выполняет рекурсивный поиск во всех подкаталогах. Я знаю, что glob не соответствует рекурсивно.

use Cwd;

$file1 = @ARGV[0];    

#@res1 = glob "*test*";
#@res1 = glob "$file1*";
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
foreach (@res1)
{
    print "$_\n";
}

Но это не поиск всех подкаталогов рекурсивно. Я знаю, что glob не соответствует рекурсивно.

use Cwd;

$file1 = @ARGV[0];    

#@res1 = glob "*test*";
#@res1 = glob "$file1*";
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
foreach (@res1)
{
    print "$_\n";
}

Но это не поиск всех подкаталогов рекурсивно. Я знаю, что glob не соответствует рекурсивно.
Итак, попробовал использовать модуль File :: Find и функцию find (\ & хотела, @directories);

Но я получил сообщение об ошибке find () undefined. Из того, что я прочитал в справке, я подумал, что функция find () определена по умолчанию в установке Perl с некоторым базовым кодом для поиска папок / файлов. Разве это не правильно?

В приведенном выше скрипте perl возникает вопрос, как мне рекурсивно искать файлы / папки?

Во-вторых, я обнаружил, что perldoc help не работает есть примеры использования определенной функции в этом модуле, чтобы было понятно.

Не могли бы вы указать на какую-нибудь хорошую справку / документ / книгу по использованию различных функций Perl из разных модулей Perl с ясными примерами использования этих функций модуля.

7
задан serenesat 10 December 2015 в 06:04
поделиться