我应该在Perl中使用带有opendir的词法目录句柄吗?

Rob*_*t P 5 perl

几乎普遍当人们在SO(或其他地方)上发布关于Perl和从文件中读取的问题时,如果任何涉及旧式开放的代码

open FH, ">file.txt" or die "Can't open for write, $!";  # OLD way, do not use!
Run Code Online (Sandbox Code Playgroud)

因不使用词法文件句柄而大喊大叫.众所周知,

open my $fh, ">", "file.txt" or die "Can't open for write, $!"; # new hotness
Run Code Online (Sandbox Code Playgroud)

是在现代Perl中打开文件句柄的正确方法.目录处理怎么样?在最近的一些SO问题中,人们提出了涉及的问题opendir,并发布了类似的代码

opendir DIR, "/directory" or die "Can't get the directory, wtf?! $!"; # ???
Run Code Online (Sandbox Code Playgroud)

的perldoc页显示

opendir(my $dh, $some_dir) || die "can't opendir $some_dir: $!";
Run Code Online (Sandbox Code Playgroud)

作为例子.

我们是否应该建议人们为opendir使用词法目录句柄?

ire*_*ses 10

当然.目录的词法文件句柄的参数与文件的参数相同 - 作用于当前命名空间.