2012-02-23 8 views
2

私の文字列の検索桁に問題があります。 私は2つのファイルを持っています。私の文字列内のperl検索数字

stver.php

define('upd_ver', 256); 

tr_ver.php

define('code_ver', 110); 

問題がある:数字(256と110)はインクリメントを作成し、ファイルを保存する方法を見つけます。 Exmpl、文字列の定義( 'upd_ver'、256);保存後はdefine( '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

一つのアプローチ:/eフラグが置換文字列を引き起こす

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

が評価され、その結果が置換文字列自体は単にとしてploppedされるのではなく、で置換されましたリテラル文字列。

関連する問題