嗯,我知道这又是一个新手的问题,但我非常沮丧,我期待再次启发。 有了你们的指导下,我已经学会了如何使用水珠函数读取每个文件的内容目录。 现在我想要的READDIR-的foreach组合做同样的事情,但我不断收到“无法打开文件:Permission denied”错误。 为什么会出现这种情况与同一目录中,相同的文件和相同的我作为管理员。 可有人好心告诉我,我做错了什么? 谢谢。
下面的代码使用的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>) {
...}