sub replace_src_to_des
{
my $root = "";
my $ret = "false";
my $file_path = $_[0];
my $id_src = $_[1];
my $id_des = $_[2];my $suffix_file = "_bak";
my $suffix_file1 = "_tmp_bak";
my $slash = "/";printf LOG_FILE_HANDLE "replace_src_to_des:".$root.$slash.$file_path."\n";
open(_HY_FILE_,"<".$file_path) or die ("$file_path : file error!", __FILE__, __LINE__);
open(_HY_FILE_BAK_,">".$file_path.$suffix_file) or die ("$file_path.$suffix_file : file error!", __FILE__, __LINE__);
while (my $line=<_HY_FILE_>)
{
chomp($line);
my $position = index($line, $id_src);
#print "position:".$position."\n";
if($position >= 0)
{#replace the id_src value with id_des
my $header_line = "";
my $tail_line = "";
my $temp_line = "";
printf LOG_FILE_HANDLE "line:".$line."\n";
if($position >= 1)
{
$header_line = substr($line, 0, $position);
$tail_line = substr($line, $position+length($id_src), length($line));
$temp_line = $header_line.$id_des.$tail_line."\n";
}
else
{
$tail_line = substr($line, $position+length($id_src), length($line));
$temp_line = $id_des.$tail_line."\n";
}
printf LOG_FILE_HANDLE "header_line:".$header_line." tail_line:".$tail_line."\n";
printf LOG_FILE_HANDLE "temp_line:".$temp_line."\n";
syswrite(_HY_FILE_BAK_,$temp_line);$ret = "replaced";
}
else
{
syswrite(_HY_FILE_BAK_,$line."\n");
}
}
close(_HY_FILE_);
close(_HY_FILE_BAK_);
system "mv $file_path $file_path$suffix_file1";
#system "rm -rf $file_path";
system "mv $file_path$suffix_file $file_path";
printf LOG_FILE_HANDLE "successful!\n";return $ret;
}replace_src_to_des("build/make/tools/buildinfo.sh", "\$BUILD_DISPLAY_ID", $softVer);
perl脚本替换文件中的字符串
最新推荐文章于 2022-05-10 14:17:58 发布