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

4
#!/usr/local/bin/perl
sub trial
{
    open (LOGFILE, 'C:\Users\out.txt');
    trial();
}
trial();

请忽略它将进入无限循环的警告。
文件句柄LOGFILE在方法中是局部还是私有的? 如果不是,我该如何使其成为私有/局部的? 我知道my ,但我不知道如何在文件句柄上使用它。

这些是文件句柄,而不是文件处理程序。 - Zaid
2个回答

10

4

词法文件句柄只是标准的my标量。请参阅open函数的perldoc中的示例

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

通常情况下,更推荐使用三个参数的 open 函数形式:
open (my $logfile, '<', 'C:\Users\out.txt');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接