繁体   English   中英

按行排列的文件io在Windows中无法按预期工作

[英]LIne-by-line file-io not working as expected in Windows

我在Windows环境中使用来自Strawberry的Perl 5.16.1。 我有一个Perl脚本,可读取非常大的文本文件。 最小的文本文件是30M。 当读取最后一行末尾没有换行的文件时,我会得到非常奇怪的结果。 它可能不会一直发生,但是会一直发生,就好像它是从I / O系统读取缓存的数据一样,这是我之前使用Perl脚本打开的另一个文件。 如果我手动编辑文件并添加换行符,就可以了。 我添加了一个行计数器和一些内联代码来显示当我接近文件末尾时会发生什么,以确保我不会发疯。 为了尝试修复,我尝试将其添加到脚本中:

open (SS_LOG, ">>", $SSFile) or die "Can't open $SSFile\r\n $!\r\n";
print SS_LOG "\r\n";
close SS_LOG;

但它什么也没做。 该文件保持不变。 我也将数据存储在大型数组中。

有人看到过这样的东西吗?

尝试取消缓冲您的输出:

SS_LOG->autoflush(1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM