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