IPC::Open3 问题

2023-12-26

我正在使用 IPC::Open3 编写一个简单的脚本。该脚本不会向 stdout 或 stderr 产生输出,而我希望向两者输出。

完整源码:

#!/usr/bin/env perl 

use strict;
use warnings;
use utf8;

use IPC::Open3;

pipe my $input, my $output or die $!;
my $pid =  open3(\*STDIN, $output, \*STDERR, 'dd', 'if=/usr/include/unistd.h') or die $!;

while(<$input>) {
    print $_."\n";
}
waitpid $pid, 0;

我相当确定我错误地使用了 IPC::Open3。然而我还是很困惑我到底要做什么should正在做。


这是pipe。在不知道为什么它在那里的情况下,我无法说更多。这很好用。

my $reader;
my $pid =  open3(\*STDIN, $reader, \*STDERR, 'dd', 'if=/usr/include/unistd.h') or die $!;

while(<$reader>) {
    print $_."\n";
}
waitpid $pid, 0;

我意识到这是probably只是一个例子,但万一它不是......这对你正在做的事情来说完全是矫枉过正。您可以使用反引号来实现这一点。

print `dd if=/usr/include/unistd.h`

IPC::Open3 有点过于复杂。还有更好的模块,例如IPC::Run https://metacpan.org/pod/IPC::Run and IPC::运行3 https://metacpan.org/pod/IPC::Run3.

use strict;
use warnings;

use IPC::Run3;

run3(['perl', '-e', 'warn "Warning!"; print "Normal\n";'],
     \*STDIN, \*STDOUT, \*STDERR
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPC::Open3 问题 的相关文章

随机推荐

  • 泛型中奇怪的嵌套结构类型

    有人可以解释一下嵌套在泛型中的结构类型的奇怪构造吗 implicit def Function1Functor R Functor type R gt new Functor type R gt 这个例子来自Scalaz库 函子 scala
  • 毫秒是python中箭头时间库的一个特性吗

    使用这种方法 arrow utcnow format YYYY MM DD HH mm ss 或者箭头中类似的东西是否可以将毫秒添加到时间中 事实上 您最多可以使用 6 位数字来表示秒的小数部分 gt gt gt now arrow utc
  • 使用正则表达式有效测试“EndsWith”

    我需要构建一个正则表达式 NET 语法 来确定字符串是否以特定值结尾 具体来说 我需要测试文件是否具有特定扩展名 或一组扩展名 我试图修复的代码使用的是 png jpg gif 在我的场景中 对于失败的匹配来说 速度非常慢 可能是由于回溯
  • 工作表、单元格和范围的默认范围是什么?

    当您仅键入 worksheets 时 默认范围 ActiveWorkbook 或 ThisWorkbook 是什么 对于那些不了解这些区别的人来说 它们非常重要 尤其是在 Excel 2013 中 当您希望在切换到不同工作簿时运行宏时 在标
  • 如何高效调试webpack应用?

    我正在尝试在我的项目中采用 webpack 开发服务器 我知道它被广泛采用 因此令我惊讶的是调试应用程序似乎非常困难 由于 webpack 默认情况下会生成一个巨大的包 因此源映射是必须的 我对他们有一个很大的问题 根据devtool模式下
  • 用索引展平嵌套列表

    给定一个任意大小的任意深度嵌套列表的列表 我想要一个对树中所有元素进行平面 深度优先的迭代器 但也具有路径索引 使得 for x y in flatten L x L y 0 y 1 y 1 That is L 1 2 3 4 5 6 7
  • RxJava 缓冲区直到更改

    我有一个可观察的对象 它会发出大量数据 例如 1 1 1 2 2 2 3 3 1 1 5 5 在RxJava中我们可以使用直到改变 http reactivex io documentation operators distinct htm
  • jQuery 获取多个属性

    我有一个元素需要获取一组特定属性 例如 div class myClass div 在这个例子中 我需要获取所有data 属性并将它们放入数组 名称和值对 中 在此示例中 最终数组将如下所示 myDataArray data country
  • 在运行时更改 Swift 中文本字段的键盘类型

    我想知道是否有一种方法可以检查文本字段是否包含特定字符 如果是这种情况 请更改显示的键盘类型 这是我尝试过的 但无法改变 这是当编辑文本字段发生更改时发生的操作 IBAction func decOrNot sender Any let c
  • iPhone SDK:如何将视频文件下载到文档目录然后播放?

    我已经在这个代码上闲逛了很多年了 如果有人可以提供从服务器下载此文件的代码示例 我将非常感激http www archive org download june high june high 512kb mp4 http www archi
  • 为什么“git commit”不保存我的更改?

    I did a git commit m message 像这样 gt git commit m save arezzo files On branch master Changes not staged for commit use gi
  • 如何从 PHP 中的 301 重定向下载链接获取图像?

    我正在尝试下载this http minecraft net skin Notch png使用 PHP 生成图像 然后使用 GD 对其进行编辑 我找到了很多图片链接的解决方案 但这个是下载链接 Edit curl curl init htt
  • 将键值对添加到哈希数组中的所有哈希中

    我有一个哈希数组 results a 1 b 2 a 3 b 4 我想向所有哈希添加一个元素 c 所以我最终得到 results a 1 b 2 c newvalue a 3 b 4 c newvalue 我正在尝试一种比循环遍历数组并逐一
  • 当块在 RStudio 的 R Notebook 中运行时,如何打印 tibbles?

    我无法通过在 RStudio 中的 R Notebook 中运行块来打印由下面的 CSV 文件创建的 Tibble 以下示例打印有关从 read csv 进行解析的消息 但不打印 df 但是 当我预览笔记本时 会打印数据框 使用 R 控制台
  • “执行安装操作”时构建延迟了一分钟

    今天 我的构建突然开始需要很长时间才能在我的 iPad 上安装和启动 使用 XCode 7 在 执行安装操作 阶段 它会挂起大约一分钟 然后当设备上显示启动屏幕时 应用程序还需要大约一分钟才能启动 应用程序启动后 可以正常运行 没有任何问题
  • 使用 C# / ASP.net MVC 建模 NoSQL 论坛应用程序

    我目前正在开发一个基于论坛 问题 答案 的应用程序 使用C ASP net MVC和MongoDB进行数据存储 我目前正在看模型 我正在考虑有这样的单独的课程 简化 public class Question public string I
  • 如何在docker引擎群模式下跨多个主机共享卷?

    我们可以在 docker 引擎群模式下跨多个主机共享一个公共 单个命名卷吗 最简单的方法是什么 如果您有 NFS 服务器设置 则可以使用某些 nfs 文件夹作为 docker compose 中的卷 如下所示 volumes grafana
  • Highcharts,如何根据值更改饼图中的可数据距离

    我正在使用 Highcharts 饼图 该图表有几个大楔形 然后是几个较小的楔形 我可以利用距离将数据标签拉入楔子或将其放在饼图之外 但我想要混合 我希望肥楔子的标签在馅饼中 但小楔子我希望标签在外面 我可以根据值更改格式化函数中标签的颜色
  • 如何在 Jenkins 从属脚本控制台中使用 groovy 运行 python 命令?

    我需要运行任意简单的东西python c print hello 在詹金斯的奴隶之一的脚本控制台上 这就是我正在尝试的 def cmd python c print hello def sout new StringBuffer serr
  • IPC::Open3 问题

    我正在使用 IPC Open3 编写一个简单的脚本 该脚本不会向 stdout 或 stderr 产生输出 而我希望向两者输出 完整源码 usr bin env perl use strict use warnings use utf8 u