CSV에서 들어오는 데이터를 판매 시스템에서 읽을 수있는 형식으로 다시 포맷하는 스크립트가 있습니다. 나는 미쳐 가고 있을지 모르지만, 프로덕션 환경에서 일주일이나 이틀 전부터 일했다고 확신합니다. 그러나 지난 한두 주간의 어느 시점에서 작동이 멈췄습니다. 문제는 $ csv-> fields() 속성을 채우지 않는 Text :: CSV 모듈로 추적했습니다.
my $csv = Text::CSV->new({sep_char => '|', allow_loose_quotes => 1});
$csv->column_names($csv->getline(*READ));
my @keys = $csv->fields;
자, (2 주 전, 너무 프로덕션 환경에서 적어도 내 머리와,,) 내 로컬 컴퓨터에,이 구문 분석 된 헤더 필드와 @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 컴퓨터에서 동일합니다. –