2014-01-16 52 views
1

我使用IPC ::運行,我想運行的命令(例如):IPC ::運行參數分割

my @cmd = ("C:/test.cmd", "key=value"); 
IPC::Run::run \@cmd, '>', "C:\\log" or die "Failed running\n"; 

但真的運行下一個命令:C:/test.cmd key value

爲什麼IPC ::運行分裂參數與「=」(鍵=值)兩個參數鍵和值?

+0

看起來工作得很好,我(使用相同的例子),'test.cmd'是做什麼的? –

+1

請發表您的其他演示 – ikegami

+0

我運行下一條命令@cmd =(「C:/hdp/pig/bin/pig.cmd」,「-p」,「fname = testfile」,「C:/test.pig 「); ,但豬運行下一個參數: -p fname testfile C:/test.pig – user3203419

回答

1

help cmd

需要引號的特殊字符是:

<space> 
&()[]{}^=;!'+,`~ 

使用引號:

my @cmd = ("C:/test.cmd", "\"key=value\"");