我已经看到在perl中有时打开一个文件进行编写,他们使用:
open(my $file_handle, ">$file_name");
有时候:
open(FILE_HANDLE, ">$file_name");
有什么区别?
答案 0 :(得分:14)
您展示的第一种方法是较新的,通常是有利的方法。它使用词法文件句柄(词法范围的文件句柄)。第二种方法使用package-global typeglob文件句柄。他们的范围更广泛。现代Perl程序通常使用“我的”版本,除非他们有充分的理由不这样做。
您应该查看perlopentut (from the Perl documentation)和perlfunc -f open (from the Perl POD)。这两个资源为您提供了很多好的信息。当你在那里时,查看open的三个参数版本,以及错误检查。现在打开文件的一个非常好的方法是:
open my $file_handle, '>', $filename or die $!;