2012-03-14 40 views
1

這個想法是,我必須讀取文件的每一行(CSV),並記住特定位置的特定信息作爲變量。 例如:記住變量中字符串的一部分

a;b;c;d;e;f123;g;h;i;j 

我知道如何讀的每一行,但問題是如何保存的信息,其中f123是並將其存儲在變量。有任何想法嗎? 變量應該在每個循環中改變(當檢查另一行時,變量應該改變)。

回答

1
my @list = split ";", $line; 
my $value = $list[5]; 
+0

純粹,簡單,很棒:> Thx – f00sa 2012-03-14 11:46:53

+0

@ f00sa'my $ value =(split /; /,$ line)[5]'但是如果你可以引用分號, 'a; b; c;「Quote:我有*很多常識,我只是選擇不使用它。」; e; f123; i; j'。使用諸如Text :: CSV之類的CSV模塊是更安全的選擇。 – TLP 2012-03-14 14:30:46

+0

@ f00sa - 在循環的情況下,你可以在數組中推入'$ list [5]'''push @ arr,$ list [5];'然後你可以打印這個數組。 – 2012-03-15 06:57:47

2

我建議你使用CPAN模塊Text::CSV_XS

它可以利用任何用戶指定的字符作爲分隔符,分隔符和轉義,它有助於應付任何的CSV文件。

相關問題