我有一個元素數組,我需要使用Perl文件處理將數組存儲在單獨的單元格中。以CSV格式寫數組值
foreach(@type)
{
print FH qq|"@type","@date","@loc","@title"\n|;
}
我使用上面的代碼,但它只存儲數組中的最後一個元素。
在此先感謝。
我有一個元素數組,我需要使用Perl文件處理將數組存儲在單獨的單元格中。以CSV格式寫數組值
foreach(@type)
{
print FH qq|"@type","@date","@loc","@title"\n|;
}
我使用上面的代碼,但它只存儲數組中的最後一個元素。
在此先感謝。
如果使用foreach (@type)
,則特殊變量$_
會一次一個地指定爲@type
的值。在你的代碼中,你沒有使用變量$_
。相反,您輸出@type
,您正在迭代的數組。你可能想遍歷指標,像
for (0 .. $#type) {
print FH qq("$type[$_]","$date[$_]","$loc[$_]","$title[$_]"\n);
}
,或者與命名循環變量:
for my $index (0 .. $#type) {
print FH qq("$type[$index]","$date[$index]","$loc[$index]","$title[$index]"\n);
}
請注意,如果您的列可能包含換行符或雙引號,你會過得更好與Text::CSV。
如果您正在嘗試編寫CSV文件,最好使用CPAN中的特定模塊來幫助您。例如,Text::CSV。在CSV格式的自定義實現中,您可能會忘記很多小細節。
所有變量都具有相同數量的值 – Balakumar