我试图使用系统调用从Perl打开一个外部命令。我在修窗户。我怎么能一个接一个地把论点传给它呢?
例如:

system("ex1.exe","arg1",arg2",....);

这里ex1.exe是外部命令,我希望它先处理arg1,然后处理arg2,依此类推…
谢谢你的答复,

最佳答案

使用AA>:

use strict;
use warnings;

{
    local ++$|;

    open my $EX1_PIPE, '|-', 'ex1.exe'
        or die $!;

    print $EX1_PIPE "$_\n"
        for qw/arg1 arg2 arg3/;

    close $EX1_PIPE or die $!;
}

我假设您希望通过管道将数据传输到ex1.exe的stdin;例如,如果ex1.exe是以下Perl脚本:
print while <>;

如果运行上述代码,则输出应为:
arg1
arg2
arg3

关于windows - 通过管道将参数逐个传递给具有系统的外部命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4028405/

10-11 04:39