如何在Perl中处理CSV文件中嵌入的换行符?

如何在Perl中处理CSV文件中嵌入的换行符?,perl,csv,newline,Perl,Csv,Newline,我正在读一个.csv文件,它是在Excel中创建的,第一行是列标题。一个列标题包含嵌入的换行符。我想忽略这一新行,但逐行阅读它,就像: while ( <IN> ) { ... } while(){ ... } 将它视为一个新行,这将破坏我的代码(我还没有写)。我的方法是将第一行读入列标题数组,然后以不同的方式处理其余的行 在while中是否有可以忽略换行符的正则表达式,除非它是最后一行 或者我应该以不同的方式处理这个问题吗?使用一个处理CSV的Perl模块,例

我正在读一个.csv文件,它是在Excel中创建的,第一行是列标题。一个列标题包含嵌入的换行符。我想忽略这一新行,但逐行阅读它,就像:

while ( <IN> ) { 
    ...
    }
while(){
...
}
将它视为一个新行,这将破坏我的代码(我还没有写)。我的方法是将第一行读入列标题数组,然后以不同的方式处理其余的行

while
中是否有可以忽略换行符的正则表达式,除非它是最后一行


或者我应该以不同的方式处理这个问题吗?

使用一个处理CSV的Perl模块,例如。它的文档向您展示了如何处理嵌入的换行符。通常,您不想花时间编写另一个CSV解析器;继续完成任务中更重要的部分

使用一个处理CSV的Perl模块,例如。它的文档向您展示了如何处理嵌入的换行符。通常,您不想花时间编写另一个CSV解析器;继续完成任务中更重要的部分

CSV解析异常困难,除了最简单的代码外,其他代码都很难解析(I,E,一旦你认为事情可能会违反代码‘拆分’,‘$行/代码’),你就应该使用cPAN。Text::CVSXXS和Text::XSV是你应该考虑的两个。我使用前者是因为惯性,但是后者是更新的,对于很多用途来说可能更好。我认为你是作为你自己的答案而不是对我的评论。我被告知这个WOW。ldn不起作用,但我看到有一个可以下注的二进制选项。我会尝试一下。谢谢您的编辑。@singingfish:ITYM Text::xSV.和Text::csvxs多年来一直停滞不前,但在过去两年中,H.M.Brand接管了维护工作,做了很多工作(并发布了很多版本).CSV解析异常困难,除了最简单的代码外,其他代码都很难解析(I,E,一旦你认为事情可能会违反代码‘拆分’,‘$行/代码’),你就应该使用cPAN。Text::CVSXXS和Text::XSV是你应该考虑的两个。我使用前者是因为惯性,但是后者是更新的,对于很多用途来说可能更好。我认为你是作为你自己的答案而不是对我的评论。我被告知这个WOW。ldn不起作用,但我看到有一个可以下注的二进制选项。我会尝试一下。谢谢您的编辑。@singingfish:ITYM Text::xSV.和Text::csvxs多年来一直停滞不前,但在过去两年中,H.M.Brand接管了维护工作,做了很多工作(并发布了很多版本)。