perl中如何检查文件读取是否成功?

perl中如何检查文件读取是否成功?

open(FH, "<test.txt");
$str = <FH>;         # 怎样知道文件读取过程中没有错误发生
close(FH);


要注意的是,到达文件末尾不算做是“文件读取过程中“错误
也就是说,不能通过$str是不是undef来判断
可以用以下的方法

[Copy to clipboard] [ - ]
CODE:
open FH,"<","1.txt" or die "Cannot open the file!";

呵呵,楼上正解


QUOTE:
原帖由 wxlfh 于 2008-12-18 19:57 发表
可以用以下的方法
open FH,"

这是检查文件打开有没有出错


QUOTE:
原帖由 WAKU 于 2008-12-18 19:17 发表
open(FH, "

如果要检查读取本身是否有出错,估计需要更复杂的方式,例如 PerlIO,不能简单的用 <FH>
我觉得能打开,一般就不会读取错误了。如果这都是不可靠的,那就不能编程了。


QUOTE:
原帖由 wxlfh 于 2008-12-18 22:57 发表
我觉得能打开,一般就不会读取错误了。

只是一般,而不是绝对。
那么你认为读取过程中发生错误是由什么原因引起的呢?


QUOTE:
原帖由 wxlfh 于 2008-12-18 23:59 发表
那么你认为读取过程中发生错误是由什么原因引起的呢?

硬件错误,或者是网络问题,或其他的原因。


QUOTE:
原帖由 wxlfh 于 2008-12-18 23:59 发表
那么你认为读取过程中发生错误是由什么原因引起的呢?

还比如存储介质损坏,多种情况都会造成读取失败