【发布时间】:2019-02-17 05:18:04
【问题描述】:
我正在处理通常采用以下格式的遗留数据:
QID RESPONSE
但在某些情况下,响应包含多个不同类型的值:
01320 2,35,6,"warm"
我尝试过使用
my @dataRowAsList = split('\t', $_);
my $questionID = $dataRowAsList[0];
my $response = substr($dataRowAsList[1],0,-2);
my @thisResponse = split(',', $response);
在相关案例上将输出拆分为问题和响应,然后将每个响应分成组成部分
但是我刚刚发现了这种情况:
01320 2,35,6,"warm,windy"
引号中的逗号没有转义
有没有一种巧妙的方法可以将它解析成它的组件?
2
35
6
"warm,windy"
【问题讨论】:
-
使用
Text::CSV或其他 CSV 模块。