我有一個腳本,可以通過出售系統將來自CSV的傳入數據重新格式化爲可讀格式。我可能會瘋了,但我非常肯定它在一兩個星期前在生產環境中工作。但是,在上個星期或之後的某個時候,它停止了工作。我跟蹤到Text :: CSV模塊沒有填充$ csv-> fields()屬性的問題。現在
my $csv = Text::CSV->new({sep_char => '|', allow_loose_quotes => 1});
$csv->column_names($csv->getline(*READ));
my @keys = $csv->fields;
,我的本地機器(和,至少在我的頭上,在生產環境中的兩個星期前,太)上,這將填充解析報頭字段@keys。但是,現在,無論是在生產還是在生產前期,這都失敗了。我唯一能區分的是我的機器運行的是perl 5.12.4,而prod/pprd是5.8.8。兩者上的Text :: CSV模塊都是1.21。
在我的機器,如果我使用數據::自卸車和轉儲$ CSV對象,屬性的一部分是
'_FIELDS' => [
'ID',
'IDCARD_TYPE',
'FIRST_NAME',
'MIDDLE_NAME',
'LAST_NAME',
...
'EMAIL',
],
在其他機器:
'_FIELDS' => undef,
我工作通過使用$ csv-> column_names來填充@keys,但是看起來並不正確,我真的很想弄清楚發生了什麼。有任何想法嗎?
會發生什麼? – raina77ow
它返回一個數組,其字段名稱與'_FIELDS'屬性應該類似,並且出現在_COLUMN_NAMES屬性中。這在我的機器和prod/pprd機器上都是一樣的。 –