perl使用space参数执行外部

时间:2013-05-29 05:27:50

标签: perl

我有2个文件

$file = "songOne.wav";
$file = "song Two.wav";

执行时

system("command songOne.wav");

成功执行命令。

然而,当我执行

system("command song Two.wav");

它给出了错误,因为它们之间有空格, 所以命令将它视为2个参数,

output : 
can't open file song
can't open file Two.wav

如何让命令将它们视为一个文件?

谢谢

2 个答案:

答案 0 :(得分:6)

您可以传递system参数列表:

my @args = ("command", "song Two.wav");
system (@args);

或者,如果您不想创建数组,请执行以下操作:

system ("command", "song Two.wav");

答案 1 :(得分:1)

必须引用包含空格的文件名。其中之一就是:

system("command", "song Two.wav");

system("command \"song Two.wav\"");

system("command 'song Two.wav'");