通常情況下,我會建議Text::xSV和/或Text::CSV但對於這樣簡單的數據,一個簡單的join
應該工作:
#!/usr/bin/perl
use strict;
use warnings;
my %hash = (
foo1 => [ 0, 0, 0, 0, 1 ],
foo2 => [ 1, 0, 0, 0, 1 ],
foo3 => [ 3, 4, 5, 6, 7 ],
);
for my $key (sort keys %hash) {
print join(q{,}, $key, @{ $hash{$key} }), "\n";
}
__END__
輸出:
C:\Temp> ttt
foo1,0,0,0,0,1
foo2,1,0,0,0,1
foo3,3,4,5,6,7
閱讀:
#!/usr/bin/perl
use strict;
use warnings;
my %hash;
while (<DATA>) {
chomp;
last unless /\S/;
my ($key, @data) = split /,/;
$hash{$key} = \@data;
}
print $hash{foo2}->[4], "\n";
__DATA__
foo1,0,0,0,0,1
foo2,1,0,0,0,1
foo3,3,4,5,6,7
輸出:
C:\Temp> ttt
1
鍵中是否有空格? – 2009-07-09 14:07:58
沒有任何理由可以使YAML文件成爲有用的建議,並且這是一個建議它的膝蓋反應。世界上很少有人瞭解YAML,但其中許多人都瞭解CSV。在這種情況下,YAML沒有任何好處。 – 2009-07-13 22:00:46