我使用escapeshellarg从 php 传递给 perl
system("perl -e '" . escapeshellarg($inp) . "' >> /tmp/out");
并从 perl 中获取未终止的带引号的字符串。
输入是:'Single quoted terminated string\n';
我使用escapeshellarg从 php 传递给 perl
system("perl -e '" . escapeshellarg($inp) . "' >> /tmp/out");
并从 perl 中获取未终止的带引号的字符串。
输入是:'Single quoted terminated string\n';
请注意,escapeshellarg
它本身会添加外部单引号。
所以你应该把它们排除在外:
system("perl -e " . escapeshellarg($inp) . " >> /tmp/out");
# ^ ^ no extra ' quotes here