2013-04-08 25 views
0

我正在尝试获取具有正在使用的类“MyClass”的.cpp文件的列表。我的File :: Find :: Rule-> grep调用有什么问题?

下面是摘录:

use File::Find::Rule; 
my @match_files = File::Find::Rule->file()->name('*.cpp')->in('.')->grep("MyClass"); 

然而,这是给下面的错误:

Can't call method "grep" without a package or object reference at ./script.pl line 20. 

有人可以帮助我了解什么是错的这个电话?

回答

3

该错误告诉您最后的->运算符的LHS是而不是的一个对象。这是因为in方法评估规则并返回匹配文件的列表。

所以你应该交换grepin

my @files = File::Find::Rule->file->name('*.cpp')->grep(qr/MyClass/)->in('.'); 

您可以在MetaCPAN重新阅读文档。

+0

完美的作品。谢谢。 – 2013-04-10 09:15:12

相关问题