检查调用Perl打开函数的结果的最佳方法是什么?

时间:2017-01-05 17:44:09

标签: perl

我在perl中运行以下代码:

sub runMyCommand{
  my $filename ="testing.txt"
  foreach my $arg (@_) {
    my $path = catfile($arg, $filename);
    if(open my $fh, ">" , $path){
      print $fh "my path is :\$pah\n"
      close $fh;
    }else{
      ....
    }
  }
} 

runMyCommand("/opt/");

由于某种原因,这一直在继续进入其他部分。即使我可以去/ opt /并写一个文件。我打开的方式有问题吗?

谢谢,

1 个答案:

答案 0 :(得分:-1)

在Perl中使用open函数的更好方法是遵循这样的模式。

open my $fh, ">", $path
    or die "failed to open $path: $!"

通过这种方式,操作系统错误变量$!提供描述性消息会导致致命错误。