我正在尝试通过使用(Scitools)Understand 的 Perl API 编写 Perl 脚本来分析代码库(许多 .c 文件)。
我知道对于给定的 .c 文件,很容易获得变量、函数等的列表。
可能使用过理解Perl API 的人可以为我指明正确的方向来搜索文件多行中存在的特定字符串?并可能返回行号?
我正在尝试通过使用(Scitools)Understand 的 Perl API 编写 Perl 脚本来分析代码库(许多 .c 文件)。
我知道对于给定的 .c 文件,很容易获得变量、函数等的列表。
可能使用过理解Perl API 的人可以为我指明正确的方向来搜索文件多行中存在的特定字符串?并可能返回行号?
听起来你只是想要
use Understand qw( );
my $db = Understand::open("test.udb");
# Find all 'File' entities that match test*.cpp
for my $file_ent ($db->lookup("test*.cpp","File")) {
my $file_contents = $file_ent->contents();
printf "File %s matches", $file_ent->name
if $file_contents =~ /pattern/;
}