从php执行perl命令

时间:2012-07-02 10:47:01

标签: php perl system

我想用php页面中的perl调用替换文本文件中的单词。

我试过了

`perl -pi -e 's/foo/bar/g' /tmp/newxml.xml`;

system('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1);

exec('perl -pi -e \'s/foo/bar/g\' /tmp/newxml.xml', $retval1, $retval2);

它无效。

我尝试了以下

system('perl -v > /tmp/newxml.xml', $retval1);

及其工作,因此我猜它不是一个许可问题。

我直接在shell上执行了命令并且它正常工作。知道什么是错的吗?

2 个答案:

答案 0 :(得分:1)

尝试:

 system('perl -pi -e ''s/foo/bar/g'' /tmp/newxml.xml', $retval1);

system("perl -pi -e 's/foo/bar/g' /tmp/newxml.xml", $retval1);

答案 1 :(得分:0)

#!/usr/bin/perl
use strict;

`echo 'mypassword' | gpg --passphrase-fd 0 --output outfile --decrypt inputfile`