将TSV记录读入Perl哈希

将TSV记录读入Perl哈希,perl,hash,Perl,Hash,我有一个数组@fields,其中包含$record中以制表符分隔的值的名称(例如,它可能是从文件的记录0填充的) 数组项的顺序与记录中值的顺序相对应 我想为记录中的每个值填充%hash,其中包含字段=>value项 有没有一个班轮可以这样做?我不知道如何协调同时遍历@字段和拆分(“\t”,$record)列表 我能想出的最好办法是 my %hash; my @values = split("\t", $record); for my $field (@fields) { my $valu

我有一个数组@fields,其中包含$record中以制表符分隔的值的名称(例如,它可能是从文件的记录0填充的)

数组项的顺序与记录中值的顺序相对应

我想为记录中的每个值填充%hash,其中包含字段=>value

有没有一个班轮可以这样做?我不知道如何协调同时遍历@字段和拆分(“\t”,$record)列表

我能想出的最好办法是

my %hash;
my @values = split("\t", $record);
for my $field (@fields) {
    my $value = shift @values;
    $hash{$field} = $value;
}
但我怀疑有一种更简单的方法

谢谢。

这项功能:

@hash{@fields} = @values;
e、 g:

输出:

$VAR1 = {
      'three' => 3,
      'one' => 1,
      'two' => 2,
      'four' => 4
    };
这项工作:

@hash{@fields} = @values;
e、 g:

输出:

$VAR1 = {
      'three' => 3,
      'one' => 1,
      'two' => 2,
      'four' => 4
    };
这是一个符号:

@values = split /\t/, $record;
@hash{@fields} = @values;

这是一个符号:

@values = split /\t/, $record;
@hash{@fields} = @values;