【发布时间】:2014-06-30 21:27:07
【问题描述】:
我正在维护一个 Perl 脚本(Linux 上的 Perl 5.10),它需要逐行处理文件,同时在行分隔符方面尽可能灵活。任何换行符和/或回车符的序列都应该标记一行的结尾。文件中的空行不重要。例如,所有这些都应该产生两行:
FOO\nBAR FOO\rBAR
FOO\r\nBAR FOO\n\rBAR
FOO\r\n\r\r\r\n\n\nBAR
似乎无法通过PerlIO 或设置$/ 获得此行为。文件不大,所以我想我可以将整个文件读入内存,然后用正则表达式拆分它。在 Perl 中是否有更聪明的方法来做到这一点?
【问题讨论】:
-
我认为你是对的,你不能仅仅通过设置
$/来做到这一点。除非它很大,否则我会啜饮文件然后split /[\r\n]+/, $blah -
看起来你可以写一个 PerlIO 层来做到这一点:perlmonks.org/?node_id=813768
标签: perl