0
哈希數值散列正確地打印到csv,但數組值散列哈希混亂了我的csv文件。請在下面找到我的代碼,這是行不通的。如何發送數組項散列哈希csv
< use strict;
use warnings;
use Data::Dumper;
my %student_hash;
my $student_report = "StudentReport.csv";
%student_hash = (
'RollNummber1' => {
'studentname' => 'Boris',
'address' => ['Vietnam',
'local'
],
'DOB' => '5june2000'
},
'RollNummber2' => {
'studentname' => 'John',
'address' => [
'4th/floor',
'Culverdown/Street',
'WestHam',
'UK.',
],
'DOB' => '2feb2000'
},
'RollNummber3' => {
'studentname' => 'Karen',
'DOB' => '5march2000'
}
);
print "StudentHash:".Dumper(\%student_hash);
open(my $fh, '>', $student_report) or die("Couldn't open ile");
print $fh "DOB \t,ADDRESS \t,NAME \t\n";
foreach my $key(keys %student_hash){
foreach my $secondkeys (keys %{$student_hash{$key}}){
if($secondkeys =~ /DOB || studentname/) {
print $fh "$student_hash{$key}{$secondkeys} \t,"; }
if($secondkeys =~ /address/) {
print $fh Dumper $student_hash{$key}{$secondkeys} };
}
print $fh "\n";
}
close($fh);>
如果我註釋掉打印陣列部分,然後代碼工作fine.Can有人請建議如何打印數組元素爲CSV無論是在一個小區或多個cells.Thanks
不幸的是我不能使用module.But我會嘗試這個連接提示。我會讓你知道謝謝 – Perl
這真的是「做」 CSV數據的最簡單的方法。當然,考慮到多線路地址,這不一定是首先要做的正確途徑。你考慮過XML輸出嗎? – Sobrique
實際上,一旦我能夠打印多行地址以及在csv中,我認爲執行排序,以便命令將是學生名稱,然後DOB然後地址。我正在努力打印這個多行地址,我必須在不使用module的情況下執行此操作。我將按照建議嘗試使用XML進行打印。謝謝 – Perl