我有一个CSV文件,格式如下,我使用的是基于逗号作为分隔符的Perl split
命令。问题是我有一个嵌入逗号的引用字符串"HTTP Large, GMS, ZMS: Large Files"
,它失败。数组值只有更少的元素。我如何修改split命令。像嵌入的逗号使用分隔符解析CSV中带引号的字符串CSV文件
my @values = split('\,', $line);
CSV文件
10852,800 Mob to Int'l,235341739,573047,84475.40,0.0003,Inbound,Ber unit
10880,"HTTP Large, GMS, ZMS: Large Files",52852810,128,13712.68,0.0002,,Rer unit
13506,Presence National,2716766818,2447643,309116.40,0.0001,Presence,per Cnit
你的问题引出了一个问题 - 为什么不使用(例如)在['文本:: CSV'(http://search.cpan.org/~makamaka/Text- CSV-1.21/lib/Text/CSV.pm)模块,它可以为你处理这种问题? – 2012-03-23 04:58:54
所有程序员都应该学习的一节课:切勿自行解析CSV或HTML。使用现有的模块,它们通常是成熟的,稳定的并且经过良好测试。 – dgw 2012-03-23 10:25:11