使用Perl删除csv文件的CRLF结尾

时间:2015-04-19 04:02:59

标签: perl

我在每行记录中都有一个以CRLF结尾的csv文件。使用Perl,如何仅在文件的最终记录中删除CRLF,以便文件末尾没有空记录行?谢谢。

1 个答案:

答案 0 :(得分:0)

如果我正确地按照问题进行操作,则会有一个换行符跟踪最后一条记录,即在文件末尾创建一个空行。

您可以将文件读入标量并删除带有替换的尾随空白行。 \ R将适用于新的Perl版本(我认为是5.10)并且将匹配任何系统的换行符,否则您将需要使用\ n或\ n \ r

open $fh, '<', 'test.csv';

while (<$fh>) {
    $str .= $_;
}

$str =~ s/\R+(.*)\R+/$1/s;