【发布时间】:2025-11-27 02:40:01
【问题描述】:
我已经看到,在 perl 中有时会打开一个文件进行写入:
open(my $file_handle, ">$file_name");
有时:
open(FILE_HANDLE, ">$file_name");
有什么区别?
【问题讨论】:
我已经看到,在 perl 中有时会打开一个文件进行写入:
open(my $file_handle, ">$file_name");
有时:
open(FILE_HANDLE, ">$file_name");
有什么区别?
【问题讨论】:
您展示的第一种方法是较新的,通常是有利的方法。它使用词法文件句柄(词法范围的文件句柄)。第二种方法使用包全局类型glob 文件句柄。他们的范围更广。现代 Perl 程序通常使用“我的”版本,除非他们有充分的理由不这样做。
你应该看看perlopentut (from the Perl documentation)和perlfunc -f open (from the Perl POD)。这两个资源为您提供了很多很好的信息。当您在那里时,查找 open 的三个参数版本以及错误检查。现在打开文件的一个非常好的方法是:
open my $file_handle, '>', $filename or die $!;
【讨论】: