时刻检查函数的返回值
比如下面这段代码会产生一个奇怪的错误,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.这样就一目了然啦!