好吧,我知道这是另一个新手问题,但我非常沮丧,我希望再次获得启发。在各位的指导下,我已经学会了如何使用glob函数来读取目录中每个文件的内容。现在我正在尝试使用 readdir-foreach 组合来做同样的事情,但我一直收到“无法打开文件:权限被拒绝”错误。为什么这种情况发生在与管理员相同的目录、相同的文件和相同的我。有人可以告诉我我做错了什么吗?谢谢。
以下代码使用 glob 函数并且它可以工作:
#! perl
my $dir = 'f:/corpus/';
my @files = glob "$dir/*";
foreach my $file (@files) {
open my $data, '<',"$file" or die "Cannot open FILE";
while(<$data>) {
...}
以下代码失败并且错误消息显示“无法打开文件:权限被拒绝”。但为什么?
#! perl
my $dir = 'f:/corpus/';
opendir (DIR,'f:/corpus/') or die "Cannot open directory:$!";
my @files=readdir(DIR);
closedir DIR;
foreach my $file (@files) {
open my $data, '<',"$file" or die "Cannot open FILE:$!";
while(<$data>) {
...}