2012-02-23 73 views
2

我在我的字符串中搜索数字有问题。 我有两个文件。perl在我的字符串中搜索数字

stver.php

define('upd_ver', 256); 

tr_ver.php

define('code_ver', 110); 

的问题是:如何找到数字(256和110)使增量和保存文件。 Exmpl,string define('upd_ver',256);保存后变成定义('upd_ver',257);

#!/usr/bin/perl 
$sv="stver.php"; 
$tv="tr_ver.php"; 
open (SVIN, $sv) || die "Can't open $sv"; 
while (<SVIN>) 
{ chomp; print;} 
print "\n"; 
close (SVIN); 

回答

1

一种方法:

s/(define\(.*?,\s*)(\d+)/"$1" . ($2 + 1)/eg; 

/e标志导致替换字符串进行评价,其结果取代在,而不是替换字符串本身被简单地屁股在作为文字字符串。