Perl-在找到关键字后立即获取值

时间:2019-01-03 20:54:28

标签: perl

我想获得执行以下操作的脚本语法:将以下输出定义为名为@pc的变量

Active connections: 47
server accepts handled requests
 101 101 2434
Reading: 0 Writing: 5 Waiting: 42

我想解析此输出,以便仅获取与“活动连接”关联的值

在这种情况下,预期的返回值仅为47。

1 个答案:

答案 0 :(得分:2)

使用此代码段:

my ($connections) = $str =~ /Active connections:\s*(\d+).*/;

变量$connections将包含您的答案。

您还可以一次提取多个变量,例如:

my ($connections, $reading, $writing) = $str =~ /Active connections:\s*(\d+).*Reading:\s*(\d+).*Writing:\s*(\d+).*/s;

在这种情况下,变量$connections$reading$writing将被一次提取。

如果输入字符串中没有匹配的模式,则提取的变量将为undef-我建议对此添加检查,以检测输入字符串中没有有趣的数据。