188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuif ($#ARGV < 1) { 388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "Usage: version.pl VER FILE {FILE, FILE}\n"; 488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu exit; 588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu$V=$ARGV[0]; 888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuprint "VER:'${V}'\r\n"; 988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcushift(@ARGV); 1088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcusub replace () { 1288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu my $filename = $_[0]; 1388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu if(-s $filename) { 1588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "Processing [" . $filename . "]\r\n"; 1688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu my $original = "$filename.original"; 1888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu rename($filename, $original); 2088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu open(OUT, ">$filename"); 2188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu open(IN, "$original"); 2288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 2388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu my $hitCount=0; 2488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu while(<IN>) { 2588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu if($hitCount == 0 && /<version>.*<\/version>/) { 2688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu s/<version>.*<\/version>/<version>${V}<\/version>/; 2788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu $hitCount++; 2888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 2988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print OUT; 3088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 3188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu close(IN); 3288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu close(OUT); 3388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu unlink($original); 3488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } else { 3588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "File [" . $filename . "] does not exist\r\n" 3688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 3788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 3888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 3988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuforeach $ARG (@ARGV) { 4088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu do replace($ARG); 4188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 4288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 4388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 4488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 45