pChainCtrl
pChainName
pDef
pChainCtrl
pArgs
pChainCtrl
pChainCtrl
name
pChainTable
这些是少数函数的参数,需要将它们添加到“@ param [in]”前面的函数模板
TEMPLATE
/**
********************************************************************************
* @fn
* @brief
* @param[in ]
* @return
********************************************************************************
*/
我的代码
use strict;
use warnings;
open(FILE3,"< functions2.txt")or die $!;
my @array1 = <FILE3>;
foreach my $arg (@array1){
open(my $FILE4,"+< function_template.txt")or die $!;;
seek( $FILE4, 197, 0); // takes pointer infront of @param[in ]
chomp $arg;
print $FILE4 "$arg";
close($FILE4);
}
close(FILE3);
它逐一添加参数。
我需要将每组参数添加到文件模板中,这些参数将被复制到别处(我有代码),然后转到下一组参数
需要输出
/**
********************************************************************************
* @fn
* @brief
* @param[in ] pChainCtrl
pChainName
pDef
* @return
********************************************************************************
*/
答案 0 :(得分:1)
您可以阅读模板一次,并将其用于每组参数
use strict;
use warnings;
open(my $FILE4, "<", "function_template.txt") or die $!;
my $tl = do { local $/; <$FILE4> };
$tl =~ s|\s+$||mg;
open (my $FILE3, "<", "functions2.txt") or die $!;
my @array1 = map [ split ],
do { local $/ = ""; <$FILE3> };
for my $arg (@array1) {
my $s = $tl;
$s =~ s|(param.+)|"$1 ". join "\n ", @$arg |e;
print $s;
}