如何在Perl中返回替换数?
这是一个非常基本的问题,但我在谷歌上找不到答案。我正在一个php程序中对perl进行一个简单调用,以查找和替换许多文件中的字符串:如何在Perl中返回替换数?,perl,replace,Perl,Replace,这是一个非常基本的问题,但我在谷歌上找不到答案。我正在一个php程序中对perl进行一个简单调用,以查找和替换许多文件中的字符串: exec("perl -pi -e 's|foo|bar|g' `find . -name *.foo`"); 我希望命令返回替换的数量。 有人知道怎么做吗? 谢谢。运算符返回所做替换的数量,因此只需将它们相加即可: perl -pi -e '$C+=s|foo|bar|g; END{print"$C\n"}' `find . -name *.foo` s//运
exec("perl -pi -e 's|foo|bar|g' `find . -name *.foo`");
我希望命令返回替换的数量。
有人知道怎么做吗?
谢谢。运算符返回所做替换的数量,因此只需将它们相加即可:
perl -pi -e '$C+=s|foo|bar|g; END{print"$C\n"}' `find . -name *.foo`
s//
运算符返回已进行的替换的数量,因此只需将它们相加即可:
perl -pi -e '$C+=s|foo|bar|g; END{print"$C\n"}' `find . -name *.foo`
试试这个:
exec(“perl-pi-e'END{print($c)}$c+=s | foo | bar | g'find.-name*.foo
”
它将打印替换的数量。然后可以从exec检索它。
如果您希望数字包含在流程的返回值中,可以尝试:
exec(“perl-pi-e'END{exit($c)}$c+=s | foo | bar | g'find.-name*.foo
”
但如前所述,从PHP调用Perl很奇怪。试试以下方法:
exec(“perl-pi-e'END{print($c)}$c+=s | foo | bar | g'find.-name*.foo
”
它将打印替换的数量。然后可以从exec检索它。
如果您希望数字包含在流程的返回值中,可以尝试:
exec(“perl-pi-e'END{exit($c)}$c+=s | foo | bar | g'find.-name*.foo
”
但正如前面所说,从PHP调用Perl是很奇怪的。令人难以置信。。。您可以从PHP调用perl中的find。s///返回所做替换的数量。我也曾经有过这样一个问题:令人难以置信的可能复制品。。。您可以从PHP调用perl中的find。s///返回所做替换的数量。我也曾经有过这样一个问题:
exit
的可能重复会将输入强制为0到255之间的值(在大多数操作系统上),因此当您期望结果很小时,它最有帮助。exit
会将输入强制为0到255之间的值(在大多数操作系统上),因此当您期望结果很小时,它最有帮助。