在Perl脚本中使用Ack的正确方法?

在Perl脚本中使用Ack的正确方法?,perl,ack,Perl,Ack,我开始使用ack,因为它似乎是一种在Perl脚本中轻松实现unixrgrep的好方法。我想,我通过一个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是纯P

我开始使用
ack
,因为它似乎是一种在Perl脚本中轻松实现unix
rgrep
的好方法。我想,我通过一个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模块。有没有一种方法可以从Perl脚本中
使用它,我指的是一个可以像Perl函数一样使用
ack
的模块:

# My phantasm
use ack;

my @uses = ack($parameters $pattern $path);
。。。或者另一种方法,timtowtdi。

ack背后的模块是,但正如您从文档中看到的,它实际上根本不是一种编程接口,也不是供公众使用的。你可以和Andy谈谈如何改进它,但除此之外,你最好还是使用命令行或重新发明自己的命令行。

ack背后的模块是,但正如你从文档中看到的,它实际上根本不是一种编程接口,也不是供公众使用的。你可以和安迪谈谈如何让它变得更好,但除此之外,你最好还是使用命令行或者重新发明自己的命令行。

你不能

也许我应该在模块中添加“无用户可维修部件”。它真的不是用来编程的。它实际上只使用模块,以便于操作人员维护,并便于通过CPANshell安装

文件查找部分非常简单。它只是从File::Next调用迭代器

为什么要从另一个Perl程序内部调用ack呢?你的用例是什么

也许这件事最好还是由我来处理。

你不能

也许我应该在模块中添加“无用户可维修部件”。它真的不是用来编程的。它实际上只使用模块,以便于操作人员维护,并便于通过CPANshell安装

文件查找部分非常简单。它只是从File::Next调用迭代器

为什么要从另一个Perl程序内部调用ack呢?你的用例是什么


也许这会更好地应用于。

用例是构建类似于但递归的东西。我应该看看File::Next…是的,如果您主要是在查找给定类型的文件,请从File::Next开始。你不会把所有其他的胡哈阿克带到桌子上。至于您的特定用例,模块::依赖::树可能会有所帮助吗?用例是构建类似于但递归的东西。我应该看看File::Next…是的,如果您主要是在查找给定类型的文件,请从File::Next开始。你不会把所有其他的胡哈阿克带到桌子上。至于您的特定用例,模块::依赖::树可能会有所帮助吗?