Что ж, я знаю, что это еще один вопрос новичка, но я очень расстроен и надеюсь снова стать просветленным. Под руководством вас, ребята, я уже научился использовать функцию 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>) {
...}