我看到在perl中有时要打开一个文件进行写入,他们使用:
open(my $file_handle, ">$file_name");
,有时:
open(FILE_HANDLE, ">$file_name");
有什么区别?
您展示的第一个方法是较新的,通常是有利的方法。它使用词法文件句柄(具有词法作用域的文件句柄)。第二个方法使用package-global typeglob文件句柄。他们的范围更广。现代Perl程序通常使用"my"版本,除非它们有很好的理由不这样做。
您应该看看perlopentut(来自Perl文档)和perlfunction -f open(来自Perl POD)。这两个资源为您提供了很多有用的信息。在那里,查找open的三个参数版本,以及错误检查。现在打开文件的一个很好的方法是:
open my $file_handle, '>', $filename or die $!;