问题描述
我是perl的初学者,我需要通过将其中所有以前的数据保留在其中来修改txt文件,并且只需在与特定标签(
< SOURCE-START-ADDRESS >01< /SOURCE-START-ADDRESS >
< COMPRESSED-SIZE >132219< /COMPRESSED-SIZE >
< UNCOMPRESSED-SIZE >229376< /UNCOMPRESSED-SIZE >
所以我想我需要做些类似的事情:搜索关键字(匹配)并将数字132219存储在变量中,然后向其添加第二个数字(4),将结果132219替换为132223,其余的文件必须保持不变,只有与此标签相关的数字必须更改。我无法搜索数字而不是标签,因为数字可能会更改,而标签将始终保持不变。我还需要找到所有具有此名称的标签,并通过在它们附近添加4来替换它们附近的数字。我已经有了用于在关键字之后查找内容的代码,因为我还需要搜索另一个标签,但是此脚本还有其他功能,在关键字前面添加了一个数字。我想我可以根据需要使用此代码,但是我不知道如何进行计算并使文件的其余部分保持完整,或者在perl中是否可以使用。
while (my $row = <$inputFileHandler>)
{
if(index($row,$Data_Pattern) != -1){
my $extract = substr($row,index($row,$Data_Pattern) + length($Data_Pattern),length($row));
my $counter_insert = sprintf "%08d",$counter;
my $spaces = " " x index($row,$Data_Pattern);
$data_to_send ="what i need to add" . $extract;
print {$outs} $spaces . $Data_Pattern . $data_to_send;
$counter = $counter + 1;
}
else
{
print {$outs} $row;
next;
}
}
也许您可以为我提供一段代码帮助我,$ Data_Pattern是匹配项。非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)