Я начал использовать ack
, потому что это, кажется, хороший способ реализовать unix rgrep
в Perl-скрипте, легко. Думал, я использую его с помощью команды системы Perl обратно цитируемый:Правильный способ использования Ack внутри скриптов Perl?
# Searching for 'use' something
my $pattern = "^use ";
my $path = "./path/to/libs/";
#Only pm files
my $parameters = "--perl";
my @uses = `ack $parameters $pattern $path`;
Я знаю ack
чисто Perl, но это, кажется, предназначено для использования командной строки, не как API или модуль Perl , Есть ли способ, чтобы use
его из сценария Perl, я имею в виду модуль, который делает возможным использовать ack
как функции Perl:
# My phantasm
use ack;
my @uses = ack($parameters $pattern $path);
... или другой метод, timtowtdi.
Вариант использования - это нечто похожее на [Module :: Extract :: Use] (https://metacpan.org/module/Module::Extract::Use), но рекурсивный. Я должен посмотреть на File :: Next ... – smonff
Да, если вы в основном ищете файлы определенного типа, начните с File :: Next. Вы не все, что ухаживает за столом. Что касается вашего конкретного варианта использования, возможно, Module :: Depends :: Tree поможет? http://search.cpan.org/dist/Module-Depends-Tree/ –