Perl将一行读入哈希键,将其他行读入值

时间:2014-04-25 10:06:12

标签: perl hash

我试图使用外部命令绘制stat,外部命令的输出是两行,类似

insert  query update delete getmore command flushes mapped  vsize
*0    961     *0     *0       0     4|0       0  42.2g  85.2g

我试图将此变为哈希,因此我可以稍后调用键插入/查询将给出相应的值0/961 我将每行读入数组,如

foreach my $line (@QPS_RAW){
    chomp $line;
    my @STATS_RAW=split("\n ", $line);
    push (@STATS, @STATS_RAW);
    print Dumper @STATS;
}

但我不知道如何将第一行的每个元素推入散列键,将第二行的每个元素推送到值。任何指针都非常感谢。

1 个答案:

答案 0 :(得分:4)

使用哈希切片:

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

use Data::Dumper;

my @names  = split ' ', <>;
my @values = split ' ', <>;

my %hash;
@hash{@names} = @values;
print Dumper \%hash;