Не удается рекурсивно прочитать файлы внутри каталогов с помощью Perl?
Я не могу рекурсивно читать файлы внутри каталогов.Здесь $dir1-это каталог, который рекурсивно содержит имена файлов с заданием.Я хочу удалить те файлы, которые начинаются с задачи рекурсивно.Как я могу это сделать?
Ошибка:
Use of uninitialized value in pattern match (m//) at ./generate_dcms_html.pl
Мой input_Directory струтуры:
`-- added |-- add.txt `-- added1 |--action | |-- action.txt | `-- task1 | | `-- task1.html | `-- task2 | `-- task1.html `-- add.html
Ожидаемый:
`-- added |-- add.txt `-- added1 |--action | |-- action.txt | `-- task2 | `-- task2.html `-- add.html
Что я уже пробовал:
sub ProcessDirectory1{ my ($workdir1) = shift; unless (-d $workdir1) { warn "argument to DelTask is not a directory.\n"; return; } my @dirs1 = glob "$workdir1/*"; foreach my $f (@dirs1) { my $dirs1=basename($f); { if (my $dirs1 =~ /^task/) { my $filemask1 = $f.'/*'; print $filemask1; unlink glob $filemask1; unlink $f; } } } } ProcessDirectory1($output_dir);
Richard MacCutchan
Еще один неясный / неполный вопрос. Я объяснил вчера (и ранее) информацию, которую мы должны увидеть, но вы все еще не предоставляете ее.
gps sana
Я показал вам информацию.Пожалуйста, посмотрите на это