如何从 Perl 将输入传送到 Java 命令?

2024-03-22

我需要通过 Java 程序运行一个字符串,然后检索输出。 Java 程序通过标准输入接受字符串。以下作品:

my $output = `echo $string | java -jar java_program.jar`;

有一个问题:$string可以是任何东西。对于解决这个问题有什么好的想法吗?


我建议你看看IPC::Run3 http://search.cpan.org/perldoc?IPC::Run3模块。它使用非常简单的界面并允许获取STDERR and STDOUT。这是一个小例子:

use IPC::Run3;
## store command output here
my ($cmd_out, $cmd_err);
my $cmd_input = "put your input string here";
run3([ 'java', '-jar', 'java_program.jar'], \$cmd_input, \$cmd_out, \$cmd_err);
print "command output [$cmd_out] error [$cmd_err]\n";

See IPC::Run3 与其他模块的比较 http://search.cpan.org/~rjbs/IPC-Run3-0.043/lib/IPC/Run3.pm#COMPARISON.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Perl 将输入传送到 Java 命令? 的相关文章

随机推荐

  • C++ 将ASII转义unicode字符串转换为utf8字符串

    我需要读取带有 unicode 转义的标准 ascii 样式字符串 并将其转换为包含 utf8 编码等效项的 std string 因此 例如 u03a0 具有 6 个字符的 std string 应转换为原始二进制文件中具有两个字符 分别
  • 将 Maven Java 编译器调试设置为 false 不会删除行号表?

    也许这是我缺乏理解 但我认为在 Maven Java 项目中执行此操作会禁用所有调试信息进入类文件
  • 为什么固定宽度元素不占用浮动元素旁边的空间?

    In this CodePen http codepen io nitinsavant pen qrvwQd the
  • Qt:以编程方式定义 Tab 键顺序

    我使用 Desinger 创建了 2 个小部件 Widget1 和 Widget2 每个小部件都定义了其 Tab 键顺序 第三个小部件 Widget3 以编程方式定义 并包含垂直布局中的上述 2 个小部件 在 symbian 非触摸设备上
  • C++ 中的舍入和往返数字

    我有一个类 它在内部将某个定点数表示为 32 位整数 分母有些任意 它既不是 2 的幂也不是 10 的幂 为了与其他应用程序通信 数量在输出时转换为普通的旧双精度 并在输入时转换回来 作为类内的代码 它看起来像 int32 t quanti
  • 如何在 C# 中从派生类实例调用基方法?

    我有 C 代码 基础class A并得出class B public class A public virtual void print Console WriteLine a public class B A public overrid
  • WinRT 反射 (C++/CX)

    如何内省 C CX 中的对象 我知道如何获取其类名 使用 IInspectable 但我无法弄清楚如何获取其属性列表 或者如果我只有方法名称 字符串 则如何调用方法 我在这里和 Google 中搜索了答案 但我发现与 WinRT 的 NET
  • 使用 COUNT 显示 MySQL 中出现次数超过 2 次的不同记录

    我有一个表 我试图在其中构建表中出现两次以上的所有城市的不同列表 我正在尝试当前查询 我被告知 函数计数不存在 我究竟做错了什么 SELECT COUNT city FROM table1 GROUP BY city HAVING COUN
  • Laravel 从另一个项目数据库获取数据

    我正在将旧项目数据库移动到新项目数据库 旧项目数据库的结构是单个MYSQL数据库 新项目是包含很多子域的多租户数据库 此外 新项目已经设置了 RESTFUL API 来接收来自旧项目的数据 因此 我的想法是在新项目中实现多连接 以便将两个数
  • 当键盘出现时,BottomNavigationView 会上升

    Image https i stack imgur com WAcle png 我的 BottomNavigationView 工作正常 但当我按下EditText写在上面 上面的链接中有一张图片 这是我的清单 其中包括android wi
  • 强制 C# 的 HTTP 响应返回状态代码而不是描述

    我目前正在使用此脚本来获取 HTTP 响应标头 public static List
  • 如何使用 NSStepper 检查向上或向下按钮是否被按下?

    有没有办法检查 NSStepper Action 事件中是否按下了向上或向下按钮 在我的 ViewController h 中我有这个 IBAction myStepperAction id sender 在我的 ViewControlle
  • 如何在asp.net MVC 3中获取当前视图名称?

    如何使用 Razor 引擎在 asp net MVC 3 中获取与当前 URL 相关的当前视图名称 不知道为什么您需要获取当前视图名称 但您可以使用VirtualPath视图内的属性 通常 了解当前操作或控制器更有用 但无论如何 以下是获取
  • 如何获取数字小数部分的长度?

    如何找出小数的小数部分的长度或位数 我可以看到一些方法 例如像这样的字符串 public static int getNumberOfFractionDigits Number number Double fractionPart numb
  • 无法连接到 MySQLCC 上的 MySQL 服务器 ERROR 1043 Bad Handshake

    我无法使用 MySQLCC 以及我的网页连接到我的 server221 我已成功连接到服务器 253 没有任何错误 我不确定出了什么问题 但我不断收到错误 1043 bad handshake 我确信我的所有用户 ID 和密码都输入正确 我
  • 将预览帧转换为位图

    我知道这个主题已经在黑板上出现过很多次了 但无论如何我都无法让它发挥作用 我想将预览中的视图帧保存为 jpeg 文件 它看起来或多或少 代码被简化 没有额外的逻辑 异常等 像这样 public void onPreviewFrame byt
  • 内存映射文件可以有多大?

    什么限制了内存映射文件的大小 我知道它不能大于未分配地址空间的最大连续块 并且应该有足够的可用磁盘空间 但还有其他限制吗 You re being too conservative A memory mapped file can be l
  • 如何在 Python 中使用“打开方式”功能?

    我目前正在使用一个包含以下代码的 python 脚本 它打开一个包含 JSON 文本的文件并从中确定一个值 browseFiles def browseFiles global fileName fileName filedialog as
  • 将数据网格设置为每页仅显示 5 行

    我正在使用 DOJO 进行数据网格演示 div div 但问题是 grid log 每页不只显示 5 行 这个标签有什么问题吗 为什么忽略 rowsPerPage 5 看起来 rowsPerPage 值不是 查看 的页面 而是 虚拟 页面
  • 如何从 Perl 将输入传送到 Java 命令?

    我需要通过 Java 程序运行一个字符串 然后检索输出 Java 程序通过标准输入接受字符串 以下作品 my output echo string java jar java program jar 有一个问题 string可以是任何东西