Perl-доступ и печать данных из html-папки в родительской папке

0

поэтому у меня есть папка под названием DATA, и она включает в себя следующее: part1.html, part2.html, part3.html, HTML.htm, plain.html и jojo.jsp.

Теперь я использую следующий commmand, чтобы открыть папку DATA и извлечь файлы, содержащие.htm

opendir(DIR,'DATA');
my(@dir) = grep /\.htm/, readdir (DIR);
closedir(DIR);   

Он успешно распечатывает имя файлов, содержащих расширения.html. Теперь я хочу использовать html файл, который фильтруется и распечатывает данные в терминале cygwin. Я попытался использовать файлы и сохранить их в переменной, а также использовать цикл foreach, чтобы открыть первый файл html с помощью Filehandler и распечатать инициализацию данных. Цикл повторится и сделает то же самое для всех других html файлов. Но я, похоже, столкнулся с ошибкой! Пожалуйста помоги!

my $value = join(@dir); 
print "$value\n";

foreach(@dir){
my $movies =  my $value;
open (FHD,  $movies) || die " could not open $movies\n";
my @movies = <FHD>;

my $value2 = join(', ', @movies); 
print "$value2\n";
Теги:
file

1 ответ

0

Что с этой линией?

my $movies =  my $value;

Вы делаете это намного сложнее, чем нужно.

Просто используйте glob для чтения каталога, так как он автоматически включит информацию о пути в найденные файлы.

use strict;
use warnings;
use autodie;

for my $html (glob('DATA/*.htm*')) {
    print "File: $html\n";

    open my $fh, '<', $html;
    print <$fh>;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню