2013-04-08 69 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

相關問題