【发布时间】:2011-01-13 17:09:26
【问题描述】:
我有一个脚本可以逐行读取一个大文件。我想使用的记录分隔符 ($/) 是 (\n)。唯一的问题是每一行的数据都包含CRLF字符(\r\n),程序不应该认为是行尾。
例如,这里是一个示例数据文件(写出换行符和 CRLF):
line1contents\n
line2contents\n
line3\r\ncontents\n
line4contents\n
如果我设置$/ = "\n",那么它将第三行分成两行。理想情况下,我可以将$/ 设置为匹配\n 而不是\r\n 的正则表达式,但我认为这是不可能的。另一种可能性是读取整个文件,然后使用 split 函数在所述正则表达式上进行拆分。唯一的问题是文件太大而无法加载到内存中。
有什么建议吗?
【问题讨论】:
标签: perl performance file-io