相关疑难解决方法(0)

你如何在Perl中同时捕获stderr,stdout和退出代码?

是否可以从Perl运行外部进程,捕获其stderr,stdout和进程退出代码?

我似乎能够组合这些,例如使用反引号来获取stdout,使用IPC :: Open3来捕获输出,使用system()来获取退出代码.

你如何一次捕获stderr,stdout和退出代码?

perl stdout exit-code

56
推荐指数
4
解决办法
5万
查看次数

如何从Perl中的外部命令中丢弃STDERR?

我想捕获外部命令的退出代码,同时用自定义错误消息替换其标准错误输出.

my $ret = system("which mysql");
if ($ret != 0) {
    say "Error";
}
Run Code Online (Sandbox Code Playgroud)

如果mysql不存在可执行文件,则会显示which命令错误消息,这是我不想要的.如何摆脱它?

perl

2
推荐指数
1
解决办法
5149
查看次数

如何将eval输出重定向到文件?

我正在编写一个Perl脚本,我在其中读取包含Perl代码段和非Perl数据的文件.

处理完文件后,我将它们写入临时文件(生成的脚本),然后使用eval命令执行.我不想单独运行生成的脚本,因为我需要使用主脚本中变量在生成的脚本中进行插值.

我需要将eval命令的输出重定向到文件.有关如何实现这一目标的任何建议?

脚本中的步骤:

  1. READ_FILE

  2. 处理文件

  3. 使用临时文件名回写

  4. 读临时文件(my $file_name = read_file('temp_file_name'))

  5. eval(eval $file_name)

感谢帮助.

perl eval

0
推荐指数
2
解决办法
492
查看次数

我的Perl脚本运行一个系统命令,我希望输出作为脚本的其余部分的字符串,如何实现?

例如,如果我的脚本如下:

#! /bin/perl
use strict;
use warnings;

system('echo schwifty')
Run Code Online (Sandbox Code Playgroud)

- 我可以将我的终端(schwifty)上的输出变成一个字符串,我可以继续使用我的脚本吗?

注意:"echo"仅作为示例给出我正在使用其他打印到屏幕的命令.

perl system

-1
推荐指数
1
解决办法
197
查看次数

标签 统计

perl ×4

eval ×1

exit-code ×1

stdout ×1

system ×1