我只需要读取文件的最后一行,而不需要使用File:ReadBackwards模块,因为它没有安装在我需要执行脚本的远程服务器(Windows)上。请建议只读最后一行最有效的方法。
发布于 2016-04-15 00:16:18
如果您了解一些关于文件的内容(如果行的长度相对相等,或者每行最多是X字节,或者其他什么),那么您可能可以使用line来做一些事情。例如,如果最后一行最多为40字节左右,则可以执行以下操作。如果您知道该文件是100 MB (使用File::stat,这是核心文件),您可以对前10行进行平均值,查看它们是多少字节,并可能将其乘以5,以防万一,然后返回,然后执行循环。你可能需要读15或20行,但这还不错。
open(my $input,"input2.txt")||die "can't open the file";
my $last_line;
seek ($input, -50, 2);
while(<$input>)
{
$last_line = $_;
}
print "$last_line\n";https://stackoverflow.com/questions/36568162
复制相似问题