文件包含函数定义和函数声明
eErrorT ChainCtrlUpdateCameraRoute(ChainCtrlT* pChainCtrl, RouteListItemT* pNewRoute, RouteListItemT* pCurrRoute);
eErrorT ChainCtrlSetJpgSnapshotFile(ChainCtrlT* pChainCtrl, RouteListItemT* pRoute, char * dst_chain, char *jpg_file_path)
{
}
我的代码
use strict;
use warnings;
use vars qw(@temp $index $i);
open(my $FILE, "< a.c") or die $!;
my @arr = <$FILE>;
foreach(@arr){
if($_ =~ /^ \S+ \s+ \S+ \s* \( (.+?) \) /xsmg) { # extracts function arguments
my $arg = $1;
my @arr = map /(\w+)$/, split /\W*?,\W*/, $arg;
print @temp = map "$_\n", @arr;
}
}
给出输出
pChainCtrl
pNewRoute
pCurrRoute
pChainCtrl
pRoute
dst_chain
jpg_file_path
需要的输出
pChainCtrl
pRoute
dst_chain
jpg_file_path
我只需要从函数定义(ChainCtrlSetJpgSnapshotFile)而不是声明(ChainCtrlUpdateCameraRoute)中提取参数。
我需要查看带有 (..) 的行是否没有“;” 在同一行。但我无法获得正则表达式命令