加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何从Perl脚本中的外部命令收集输出?

发布时间:2020-12-16 06:10:58 所属栏目:大数据 来源:网络整理
导读:我有一个名为TET.EXE的工具,它是PDFlib系列的产品,用于提取特定文本的坐标.在Perl脚本中使用这些坐标,我们可以提取所需的文本.这是一个手动进程来运行.EXE,然后将协调给Perl,所以任何人都可以建议我让整个过程动手. 我的意思是Perl脚本本身应运行.EXE并获取
我有一个名为TET.EXE的工具,它是PDFlib系列的产品,用于提取特定文本的坐标.在Perl脚本中使用这些坐标,我们可以提取所需的文本.这是一个手动进程来运行.EXE,然后将协调给Perl,所以任何人都可以建议我让整个过程动手.

我的意思是Perl脚本本身应运行.EXE并获取所需的坐标并提取文本.在linux中使用哪些命令来运行这个perl脚本?
请,我需要你的建议如下.
提前致谢.

解决方法

如果我理解正确,你希望perl启动一个可执行文件并执行打印到stdout的文本….在这种情况下有几个选项:

Using backticks:

my $output = `TED.EXE`;

这会将TED.EXE命令的输出放在变量$output中,并且很可能足以满足您的需要.

using IPC::Open3:

use IPC::Open3;
my($wtr,$rdr,$err);
my $pid = open3($wtr,$err,'some cmd and args','optarg',...);

这将运行您的命令并将$wtr,$rdr和$err与标准输入,输出和错误流相关联.

还有其他方法可以做你想要的(Expect.pm,Run3等),但我相信上面提到的应该是足够的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读