perl - 我需要 "close FILEHANDLE"检查错误吗?

标签 perl

"or die $!"-part in the "close $fh or die $!;"-line 行吗?

#!/usr/bin/env perl
use warnings;
use strict;

my $file = 'my_file';
open my $fh, '<', $file or die $!;

print <$fh>;

close $fh or die $!;

最佳答案

在您的示例中,由于它位于脚本的末尾并且位于打开以供阅读的文件中,因此它是不必要的。

我想在阅读管道时考虑是否有必要。通常你在 EOF 条件后关闭,所以我认为也没有必要。

但是,如果您正在编写,则可以在关闭时间检测到各种错误。最简单的例子是一个完整的磁盘。由于缓冲,这可能不会在关闭文件句柄之前报告。

您也可以 use autodie (我认为在致命上面推荐)。

关于perl - 我需要 "close FILEHANDLE"检查错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070171/

相关文章:

python - 执行 shell 命令并在 Python 中检索标准输出

multithreading - Perl线程缓慢消耗内存

perl - 如何在一行中将命令行参数传递给 perl 脚本文件

Perl 同时下载 HTTP::Async 和 Net::Async::HTTP 太慢

perl - Mojolicious 应用程序中的并行请求

perl - 如何从 CPANPLUS 向 CPAN 测试人员发送 PASS 报告?

perl - 在 Perl 中测试时记录错误的最佳方法是什么?

arrays - Perl push 函数给出索引值而不是数组元素

perl - XML::Simple 是否可以消除标签描述?

perl - 如何使用 perl 访问两个具有不同版本(8i 和 9)的 Oracle 数据库?