![]() |
1
6
我建议你看看
|
![]() |
2
6
如果您可以使用CPAN模块(我假设大多数人都可以),请看 Ivan's answer IPC::Run3 . 它应该能处理你需要的一切。 如果你不能使用模块,这里有一些简单的方法。 您可以使用管道进行输入,这样可以避免所有这些命令行引用问题:
不过,看起来您实际上需要命令的输出。你 能够 用类似的方法打开两个管道 IPC::Open2 (往返于java进程)但如果试图同时处理这两个管道,可能会使自己陷入死锁。 通过将java输出到一个文件,然后从该文件读取,可以避免这种情况:
另一个选择是以另一种方式做事。将$string放入临时文件,然后将其用作java的输入:
请注意,这不是处理临时文件的最佳方式;我刚用过
|
![]() |
3
2
你调查过吗
与此类似的语法可能就是您要查找的语法:
|
![]() |
4
2
像shell一样创建管道。 这是我们可怕的线索:
我们将向后构建管道,因此首先收集Java程序的输出:
这个
在您的程序中,您希望运行Java程序,但下面的代码使用了合理的传真:
最后,谦逊的孙子只需打印可怕的字符串(到达Java程序的标准输入)并退出。背景
其产出: $ ./try [*][zab][][rab][~][*][oof] => 91 42 93 91 122 97 98 93 91 0 93 91 114 97 98 93 91 126 93 91 42 93 91 111 111 102 93
|
![]() |
5
1
内置IPC::Open2模块提供了一个无需外部文件即可处理双向管道的功能。 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 6 年前 |