- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 Perl 脚本调用外部程序时,Capture::Tiny 是否避免了使用 system() 时需要的磁盘 io?使用任何一种时,我都能获得基本相同的性能。一位同事正在使用我的代码并告诉我它正在敲打他的磁盘。在我的本地机器上运行并写入本地磁盘时,我(也许)没有这个问题。
我以前是这样做的:
open($fhStdin, ">stdin.txt");
print $fhStdin "some text\n";
close($fhStdin);
system("cmd < stdin.txt 1> stdout.txt 2> stderr.txt");
# open and read stdout.txt
# open and read stderr.txt
($stdout, $stderr, $exit) = capture {
open($fhStdin, '| cmd');
print $fhStdin "some text\n";
close($fhStdin);
};
最佳答案
Capture::Tiny::capture 的文档声明文件确实被使用
Captures are normally done to an anonymous temporary filehandle.
File::Temp->new
发生,除非要使用命名文件(见下文)。可以小心地追踪其余的处理过程。†
To capture via a named file (e.g. to externally monitor a long-running capture), provide custom filehandles as a trailing list of option pairs:
my $out_fh = IO::File->new("out.txt", "w+");
my $err_fh = IO::File->new("out.txt", "w+");
capture { ... } stdout => $out_fh, stderr => $err_fh;The filehandles must be read/write and seekable. Modifying the files or filehandles during a capture operation will give unpredictable results. Existing IO layers on them may be changed by the capture.
File::Temp
的调用就不会进行,如上所述。参见源代码。)
cmd
的输出
STDERR
并通过更多的箍来检查和处理错误。
_capture_tee
完成
in the beginning ,其中一组标志是
unshift
编辑到
@_
之前
goto &func
把它拿走,以区分方法。对于
capture
这是
1,1,0,0
, 什么设置变量
$do_stdout
和
$do_stderr
在
_capture_tee
.然后这些用于设置
%do
hash , 哪些键是
iterated over to set up $stash
.
capture
(对于命名文件)然后
$stash->{capture}
is set ,否则为
File::Temp
对象被赋值。
$stash
稍后
passed to _open_std
重定向发生的地方。
run3 \@cmd, \my $in, \my $out, \my $err;
my @cmd = qw(ls -l .);
open my $fh, '>', \my $cmd_out; # not a real filehandle ...
run3 \@cmd, \undef, $fh; # ... so this won't work
open
到标量不会设置真正的文件句柄。见
this post .
Capture::Tiny
相比,这很可能会导致更高效的磁盘 I/O 操作。做。
关于perl - Perl 的 Capture::Tiny::capture() 是否避免了使用 system() 时需要的磁盘 io?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49536450/
我喜欢 idea behind tiny-tiny rss :它是轻量级的、开源的、经常更新的,并且 seems to work very well .此外,客户端只需要一个浏览器。我想玩弄源代码并对
我在使用 TinySlider 时遇到问题,我想如果我可以使用重建()和销毁()方法,我也许能够修复问题/错误。 但是,你到底如何在像这样的组件上使用 .destroy() ? https://git
我正在尝试为 Tiny Tiny RSS 构建一个阅读器,但几乎陷入了第一步。我正在将应用程序设置为通过prototype.js (1.6.1) 使用ajax,并尝试简单登录应用程序以检索 key 。
我是 OpenCV 新手,我的 Windows XP 计算机上仅配置了 Tiny C 编译器。我可以使用这个微型 C 编译器来编译用于图像处理的 opencv 程序吗?我已经在我的 windows x
所以我有以下 Dockerfile: FROM ubuntu:latest WORKDIR /vault COPY run.sh /vault/run.sh COPY docker-entrypoin
我希望我的体重文件能够检测人,汽车和自定义对象。我知道YOLOv4-tiny的预训练重量文件是针对80个物体(包括人和汽车)进行训练的。 如果我想让体重文件检测到人,汽车和我的自定义对象,我想从一开始
我正在学习 Tiny OS 教程第 4 课“Mote-PC 串行通信和 SerialForwarder”,但我卡在了它所说的线路上“安装 TestSerial 后,您需要运行相应的 Java 应用程序
我原以为这段代码会出现段错误: char * foo (char my_ascii[10]) { strcpy (my_ascii, "0123456789"); return my_asci
为什么带有“$encoded =encode($encoding, $character, Encode::FB_WARN | Encode::LEAVE_SRC);”行的第二个示例没有捕获编码警告?
我已经下载了 Tiny MCE 的“全套”版本。我按照指示将它放在我的 php 表单中。但我只得到准系统的基本设置。我在插件文件夹中有所有插件???我按照说明使用以下代码:
我想根据自己的需要定制tiny mce。如果有人对此有任何想法,请帮助我。 问题是当您将微型 mce 添加到您的页面时,它位于 HTML dom 中的文本区域之后。 IE。 ......... 我想
我正在使用tiny table V3对表格进行排序,并在表格顶部添加一个搜索框。 当前排序是根据列名进行的,即第 1 列这是工作 fiddle ,http://jsfiddle.net/2vdh2ac
我有一个文本框和文本区域,我已经尝试在您集中注意力时实现在元素上,会显示 Tiny MCE 栏。 问题是它无法正常工作,在我自己的元素中,它甚至会自行更改文本框和文本区域的宽度和高度。 我在 jsFi
我有一个自定义 DateTime 类型,它定义了从字符串到 DateTime 的强制转换,如下所示: package Library; use Type::Library -base, -declar
假设我有以下 YAML 文件: --- task: 1: command: '' desc: '' 2: command: '' desc: '' 我使用 Pe
如何在 Tiny Colorpicker 中编写更改事件代码 请帮助我! 最佳答案 colorPicker github $(function() { $('#colorA').colorPick
我正在为一位音乐 Composer 建立一个网站。他想通过 Soundcloud 发布他的作品样本,并将其中一些样本嵌入到他的网站上。他有一个高级帐户。 我想让这对他来说尽可能简单(他不是极客)。基本
我正在为一位音乐 Composer 建立一个网站。他想通过 Soundcloud 发布他的作品样本,并将其中一些样本嵌入到他的网站上。他有一个高级帐户。 我想让这对他来说尽可能简单(他不是极客)。基本
我用 tinymce 4 替换了 tinymce 3。Tinymce 4 占据了所有可用的宽度: tinyMCE.init({ mode: 'textareas', theme: 'mo
我想创建一个基于字符串的类型,该类型将具有长度上限和 - 可选 - 长度下限。即,参数化类型,其中长度范围将是一个参数。 在我的实现中我想要什么: 字符串长度范围的单独类型。 不使用 MooseX::
我是一名优秀的程序员,十分优秀!