我为什么还要换行?

时间:2016-02-07 23:14:23

标签: regex perl newline

我有以下代码:

open INPUT, "input.txt";
my $line = "";
while (<INPUT>)
{
        $line = $_;
        $line =~  s/\s+^//;
        print $line;
}

但输出仍包含所有换行符。我还尝试了\v\R

1 个答案:

答案 0 :(得分:2)

/\s+^/表示&#34; 字符串&#34;之前的一个或多个空格字符; - 所以它永远不会匹配。

如果您的目标是移除尾随空格字符,那么您需要$而不是^

    $line =~  s/\s+$//;

(如果您的目标只是删除尾随换行符,那么您应该使用the built-in chomp function。)