我正在迭代一个文件然后有一个我必须搜索的字符串,并且从该字符串我必须用另一个字符串替换子字符串。任何人都可以帮我解决这个问题。 我试过这样的。
while(<FH>)
{
if($_ =~ /AndroidAPIEventLogging=false/i)
{
if($& =~ s/false/True/)
{
print("Changed successfully\n");
}
}
}
现在它显示它只能执行读取操作。我尝试在每种可能的模式下打开文件。
答案 0 :(得分:2)
匹配和替换是某种perl反模式,因为你匹配(通常是相同的字符串)两次,所以回到你的问题
while (<FH>) {
# everything before '\K' is not replaced (positive look behind)
if (s/AndroidAPIEventLogging=\Kfalse/True/i) { # $_ =~
print("Changed successfully\n");
}
}
答案 1 :(得分:0)