perl中的文件句柄是全局的吗?

perl中的文件句柄是全局的吗?,perl,Perl,请忽略它将进入无限循环 filehandleLOGFILE对该方法是本地的还是私有的? 如果没有,我如何将其设置为私人/本地? 我知道我的。但是我不知道如何在文件句柄上使用它。词法文件句柄只是标准的my标量。请参见中的示例 一般来说,open的三参数形式也是首选: open (my $logfile, 'C:\Users\out.txt'); open(my$logfile),这些文件句柄是全局的,因为它们是全局的。这有时会导致非常糟糕的意外,因为您可能会意外地覆盖您正在使用的某个模块中定义的

请忽略它将进入无限循环

filehandle
LOGFILE
对该方法是本地的还是私有的? 如果没有,我如何将其设置为私人/本地?
我知道我的。但是我不知道如何在文件句柄上使用它。

词法文件句柄只是标准的
my
标量。请参见中的示例

一般来说,
open
的三参数形式也是首选:

open (my $logfile, 'C:\Users\out.txt');

open(my$logfile),这些文件句柄是全局的,因为它们是全局的。这有时会导致非常糟糕的意外,因为您可能会意外地覆盖您正在使用的某个模块中定义的文件句柄

如果需要词法文件句柄,请使用
my
定义它们,如下所示:

open (my $logfile, '<', 'C:\Users\out.txt');

打开我的$fh,'这些是文件句柄,不是文件句柄
open (my $logfile, '<', 'C:\Users\out.txt');
open my $fh, '<', 'C:\Users\out.txt';