正则表达式中的变量问题........

正则表达式中的变量问题........

正则表达式中的变量问题........
for (my $i=0;$i<=$#items;$i++) {
my $p=$items[$i];
$p=~s/\s+//g;
print $p;
my $q=$pathway[$i];
$q=~s/\s+//g;
foreach (@process) {
$_=~s/X/ $p/g;
write_to_file("$q.m",$_);
}

}@items为替换词列表
@pathway为文件名列表
有意思的是:
我对一个模版文件中的X利用替换词列表
进行循环替换,保存文件名列表中 ,每一个文件都替换了第一个替换词




   

$_=~s/X/ $p/g;-- 你一.
$_=~s/X/ $p/g;
你一下子就把X全替换掉了,当然是第一个了。注意你S///后的替换替换选项g。
建议你好好看看s///操作的选项。
这里并不是g出问题........
这里并不是g出问题...................
时我把[quote] my @process=get_the_file('process');[/quote]放错地方了,因为我时每循环一次,重新调用模版. 这样就Ok了.