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);