21、Perl I/O操作的最佳实践

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值