gpt4 book ai didi

regex - 设置 $/="\R"会允许 chomp() 与 perl 中的大多数文件一起正常工作吗?

转载 作者:行者123 更新时间:2023-12-04 22:55:06 25 4
gpt4 key购买 nike

有谁知道是否设置 $/="\R";会可靠地让 chomp() 做正确的事情,即删除一行中的任何行尾约定吗?

具体来说,我在 Windows 和 UNIX 上运行脚本,并且必须处理来自网络的文件,并且具有未知的行尾约定:MS-DOS、UNIX、MacOS < 9,等等。

我最近偶然发现了“\R”,但我以前没见过。我认为这是新的。嗯,比 Perl 5.006 新。 (有一阵子了。)

"\R"也声称做 Unicode 换行符。我没有办法正确地测试这个。

谢谢。

-埃里克

我很惊讶地发现 stackoverflow 中实际上有一个“换行符”标签。

最佳答案

Will setting $/='\R' allow chomp() to work correctly with most files in perl?



设置 $/'\R'将考虑两个字符的序列 "\\R"作为换行符。
设置 $/"\R"将导致关于 Unrecognized escape 的警告.
\R不是字符串,但仅在正则表达式的上下文中才有意义。但是 $/ 的文档明确指出:

Remember: the value of $/ is a string, not a regex. awk has to be better for something. :-)

关于regex - 设置 $/="\R"会允许 chomp() 与 perl 中的大多数文件一起正常工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com