时刻检查函数的返回值

比如下面这段代码会产生一个奇怪的错误,print() on closed filehandle FILE at d:\code\test.pl line 6.

sub testdir {
open FILE, ">>z:/zdd" ;
print FILE "Hello, world\n";
}

其实根本原因是open函数失败了,因为z:盘根本不存在,但是我们没有检查open的返回值,所以这个错误很隐讳,正确的写法应该是

sub testdir {
open FILE, ">>z:/zdd" or die $!;
print FILE "Hello, world\n";
}

这样错误信息就变成了:No such file or directory at d:\code\test.pl line 5.这样就一目了然啦!

posted on 2011-12-20 09:36  perlman  阅读(603)  评论(0编辑  收藏  举报

导航