为了账号安全,请及时绑定邮箱和手机立即绑定

为什么使用自动生动的文件句柄打开三个参数的调用是Perl的最佳实践?

为什么使用自动生动的文件句柄打开三个参数的调用是Perl的最佳实践?

为什么使用自动生动的文件句柄打开三个参数的调用是Perl的最佳实践?我有两个关于Perl的问题open职能:我好像记得Perl最佳实践的3参数版本open比两个论证版本更好。open(OUT, '>>', $file);v.V.open(OUT, ">>$file");那是为什么?前几天,我试图告诉别人使用3参数版本,但似乎无法用任何东西来支持它。2)我似乎还记得,自动激活的文件句柄比裸字文件句柄更受青睐(他们称之为不同的东西)。也不记得为什么。open(my $out, '>>', $file);v.V.open(OUT, '>>', $file);是一个strict事情?我好像记得我能用OUT带着strict但我不记得了。
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

处理#2:

OUT是一个全局文件句柄,使用它将您暴露在下面这样的潜在bug中:

sub doSomething {
  my ($input) = @_;
  # let's compare $input to something we read from another file
  open(F, "<", $anotherFile);
  @F = <F>; 
  close F;
  &do_some_comparison($input, @F);}open(F, "<", $myfile);while (<F>) {
    &doSomething($_);   # do'h -- just closed the F filehandle}close F;


查看完整回答
反对 回复 2019-07-08
  • 3 回答
  • 0 关注
  • 526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信