Perl I/O操作的最佳实践
1. 干净地打开文件
在Perl中,打开文件有两种常见的方式:双参数形式和三参数形式。从Perl 5.6开始引入的三参数形式的 open 函数更为健壮,而双参数形式虽然也能工作,但在某些罕见情况下可能会出现微妙的错误。
双参数形式的问题示例 :
# Log system uses a weird but distinctive naming scheme...
Readonly my $ACTIVE_LOG => '>temp.log<';
Readonly my $STATIC_LOG => '>perm.log<';
# and later...
open my $active, "$ACTIVE_LOG" or croak "Can’t open ’$ACTIVE_LOG’: $OS_ERROR";
open my $static, ">$STATIC_LOG" or croak "Can't open '$STATIC_LOG': $OS_ERROR";
这段代码虽然能成功执行,但实际效果与预期不符。 $active 文件句柄会以输出模式打开名为 temp.log< 的文件,而不是以输入模式打开名为 >temp.log< 的文件; $static 文件句柄会以追加模式打开名为 per
超级会员免费看
订阅专栏 解锁全文
1000

被折叠的 条评论
为什么被折叠?



