我正在编写一个将文件读入数组的 perl 脚本。我在 Windows 上使用 Perl 5.16 编写了程序(它也适用于 5.14),并且使用带有 Perl 5.12 的 Mac 脚本失败了。
失败的部分是这样的:my @array = <$file>
. 在 Mac 上,数组返回正确的大小(与文件中的行数相同),但除了最后一个元素之外的每个元素都是空的。当我切换到这个代码时,代码可以正常工作:
my @array;
while(<$file>){
push @array, $_;
}
我不确定如果我将行尾切换LF
为CRLF
(Windows 风格)是否会有所不同。虽然问题解决了,但让我很困惑。我认为我列出的那两个代码片段完全相同。它们有什么区别在这里产生不同的结果?