首页 > 解决方案 > 如何将 systemctl 显示输出 (k=v) 保存到 perl 哈希?

问题描述

命令的输出systemctl格式为:

k1=v1
k2=v2
...

如何将其保存到 Perl 哈希中?我需要先将 = 替换为 => 吗?

标签: perl

解决方案


我需要先将 = 替换为 => 吗?

不,您不想生成 Perl 代码。

my %hash;
for split(/\n/, $output) {
   my ($k, $v) = split(/=/, $_, 2);
   $hash{$k} = $v;
}

或者

my %hash =
   map { split(/=/, $_, 2) }
      split(/\n/, $output);

推荐阅读