Eri*_*ett 4 regex perl newline
有没有人确切知道设置$/="\R";是否可靠让chomp()做正确的事情,即删除行上的任何行尾约定?
具体来说,我在Windows和UNIX上运行脚本,并且必须处理来自网络的文件,并且具有未知的行尾约定:MS-DOS,UNIX,MacOS <9,等等.
我最近偶然发现了"\ R",但我之前没见过.我认为这是新的.嗯,比Perl 5.006更新.(有一阵子了.)
"\ R"声称也会执行Unicode换行符.我没办法正确测试.
谢谢.
-Erik
我很惊讶地发现stackoverflow中实际上有一个"换行符"标记 .
设置$/='\ R'是否允许chomp()与perl中的大多数文件一起正常工作?
设置$/为'\R'将双字符序列"\\R"视为换行符.
设置$/为"\R"将导致警告Unrecognized escape.
\R不是字符串,而是仅在正则表达式的上下文中有意义.但文件$/清楚地说明:
记住:值
$/是字符串,而不是正则表达式.awk必须更好的东西.:-)