用“|”替换perl中的CR LF

时间:2016-04-22 12:21:20

标签: perl

使用Perl,我希望在以|开头的行的末尾用"ID"替换CRLF。

所以,更明确一点:如果一行以"ID"开头,我会在{1}}的句子末尾替换CRLF。

这就是我所做的:

|

我认为这不好......

1 个答案:

答案 0 :(得分:2)

根据平台,\n具有不同的含义。来自perlport

    LF  eq  \012  eq  \x0A  eq  \cJ  eq  chr(10)  eq  ASCII 10
    CR  eq  \015  eq  \x0D  eq  \cM  eq  chr(13)  eq  ASCII 13
             | Unix | DOS  | Mac  |
        ---------------------------
        \n   |  LF  |  LF  |  CR  |
        \r   |  CR  |  CR  |  LF  |
        \n * |  LF  | CRLF |  CR  |
        \r * |  CR  |  CR  |  LF  |
        ---------------------------
        * text-mode STDIO

你可以这样做:

elsif ($line =~ /^(ID\b.*)\R/) { print $outputFile "$1|" }

\R代表任何类型的换行符。