2013-07-24 58 views
1

我试图解析一个输入文件只有Unix LF到输出文件。之间是这个问题的一些不相关的正则表达式替换。Perl打开图层关闭CRLF翻译?

perl -Mopen=IO,:raw -pe "SomeRegexReplacement" %INPUT% >%OUTPUT%

http://perldoc.perl.org/functions/binmode.html: 像Perl自动添加CR换行,这是我不想,我试图禁用它

如果层被省略或指定为:原料的文件句柄是适合传递二进制数据的 。这包括关闭可能的 CRLF翻译并将其标记为字节(与Unicode 字符相反)。

但是:结果文件仍然包含CRLF换行符。 为什么?

+0

我觉得这是累人。 – innaM

回答

1

您没有申请:原始到标准输出。更改

-Mopen=IO,:raw 

-Mopen=:std,:raw 
+0

我使用'IO'作为perl给了我一个错误,否则:'未知的PerlIO层类'std'(需要IN,OUT或IO)在-e行0.“ – membersound

+0

然后你离开':' – ysth