【发布时间】:2012-09-26 16:13:21
【问题描述】:
我有一个输入文件
输入文件.txt
name: George
age: 5
nature: curious
likes: banana
这就是我所说的表单布局。我正在尝试将其转换为表格布局 CSV。例如:
name,age,nature,likes
George,5,curious,banana
所以,我读取了文件,在 ": 和 \n" 上拆分并将值放入哈希中。然后将该散列推入一个数组,以便我稍后将它们取出。这是我到目前为止所做的。
#!/usr/bin/perl
use strict;
open (MYFILE, 'inputfile.txt');
my @records;
while (<MYFILE>) {
chomp;
my %values = split(/[:\n]/,$_);
push @records,%values;
}
close (MYFILE);
由此,我猜@records={[name=George],[age=5],[nature=curious],[likes=banana]} 会发生。
现在,如何从数组@records 中取出每个散列?当我尝试类似:
foreach my $record(@records){
my %record = $record;
for my $key(keys %record){
print "key : $key\n";
}
}
它一个接一个地输出所有令牌,这与预期的不同(只是键)。
【问题讨论】:
标签: perl format associative-array