Perl   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将系统命令的结果存储在Perl变量中?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$cat test.pl
my $pid = 5892;
my $not = system("top -H -p $pid -n 1 | grep myprocess | wc -l");
print "not = $not\n";
$perl test.pl
11
not = 0
$

我想把结果,即11变成一个变量.我怎样才能做到这一点?

解决方法

Perlfaq8

你很混淆system()backticks(“)的目的. system()运行命令并返回退出状态信息(作为16位值:低7位是进程死亡的信号,如果有的话,高8位是实际退出值).反引号(“)运行命令并将其发送到STDOUT.

$exit_status   = system("mail-users");
    $output_string = `ls`;

有很多方法可以从Perl执行外部命令.最有意义的是:

> system():你想执行一个命令,不想捕获它的输出
> exec:你不想返回
调用perl脚本
> backticks:你想捕捉
输出命令
> open:你想要管道命令(as
输入或输出)到您的脚本

另见How can I capture STDERR from an external command?

大佬总结

以上是大佬教程为你收集整理的如何将系统命令的结果存储在Perl变量中?全部内容,希望文章能够帮你解决如何将系统命令的结果存储在Perl变量中?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: