perl - 在 perl 的循环中读取文件时,如何确定它是否是最后一行

标签 perl logging filehandle

我正在使用 Perl 编写日志解析脚本。我正在阅读日志文件如下:

open(LOGFILE, "$logFile") || die "Error opening log file $logFile\n";                           
while(<LOGFILE>) 
{   
  #Processing statements goes here.
}

现在在处理语句中,我想检查文件读取指针是否在最后一行。如果是,那么想在退出之前处理一个条件。

所以问题来自用于逐行读取文件的 while 循环内,我如何确定它是否在最后一行?

最佳答案

my $last;
while(<MYFILE>) {
   $last = $_ if eof;
}

尽管除非您对其他每一行都做某事,否则这是非常低效的。

关于perl - 在 perl 的循环中读取文件时,如何确定它是否是最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1176516/

相关文章:

perl - @$ 和 $$ 在 Perl 中是什么意思?

git - 在 Git::Repository 中使用密码

python - 如何在 Python logging.Formatter 中右对齐级别字段

php - 管理大型日志文件

locking - 确保尝试删除文件时未更改该文件

perl - 页面导航后存储下一页的内容

shell - $SIG {'ALRM' } 在 Perl 中做什么

java - 配置 Sentry 以使用 log4j2 进行日志记录时出错

perl - 多个文件句柄打开同一个文件-这是一种好习惯吗?

arrays - 将 FileHandle 引用为数组