0

我正在尝试获取其中使用了“MyClass”类的 .cpp 文件列表。

这是片段:

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.

有人可以帮我理解这个电话有什么问题吗?

4

1 回答 1

3

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

所以你可能应该交换grepin

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

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

于 2013-04-08T10:09:03.877 回答