我正在执行一个系统命令,并且想要(1)为系统命令预加载 STDIN 和(2)从命令中捕获 STDOUT。
每在这里我看到我可以做到这一点:
open(SPLAT, "stuff") || die "can't open stuff: $!";
open(STDIN, "<&SPLAT") || die "can't dupe SPLAT: $!";
print STDOUT `sort`;
这使用当前定义的 STDIN 作为排序的 STDIN。如果我将数据保存在文件中,那就太好了,但我将它保存在变量中。有没有办法在执行系统命令之前将变量的内容加载到 STDIN 中?就像是:
open(STDIN, "<$myvariable"); # I know this syntax is not right, but you get the idea
print STDOUT `sort`;
这可以在不使用临时文件的情况下完成吗?另外,我在 Windows 中,所以不推荐使用 Open2,我听说。
谢谢。