나는 폴더가 있고 그 안에 많은 하위 폴더가 있습니다. 그 하위 폴더에는 많은 .html 파일을 읽을 수 있습니다. 나는 그것을하기 위해 다음 코드를 작성했다. 상위 폴더와 첫 번째 하위 폴더를 열고 하나의 .html 파일 만 인쇄합니다. 그것은 오류를 보여줍니다 :여러 디렉토리를 읽고 Perl의 하위 디렉토리 내용을 읽으려면 어떻게해야합니까?
NO SUCH FILE OR DIRECTORY
전체 코드를 변경하고 싶지 않습니다. 기존 코드의 수정은 나에게 도움이 될 것입니다.
use FileHandle;
opendir PAR_DIR,"D:\\PERL\\perl_programes\\parent_directory";
while (our $sub_folders = readdir(PAR_DIR))
{
next if(-d $sub_folders);
opendir SUB_DIR,"D:\\PERL\\perl_programes\\parent_directory\\$sub_folders";
while(our $file = readdir(SUB_DIR))
{
next if($file !~ m/\.html/i);
print_file_names($file);
}
close(FUNC_MODEL1);
}
close(FUNC_MODEL);
sub print_file_names()
{
my $fh1 = FileHandle->new("D:\\PERL\\perl_programes\\parent_directory\\$file")
or die "ERROR: $!"; #ERROR HERE
print("$file\n");
}
팁 : "my"를 "our"로 사용하고 -w 옵션을 사용하여 perl을 실행하십시오 (가능하면 모두 사용하십시오). "my"를 사용했지만 엄격하지 않으면 "$ file"이 정의되지 않았으며 "$ file"이 선언되지 않았다고 엄격히 말하면 경고 메시지가 나타납니다. – araqnid