我有一個文件夾,裏面有很多子文件夾。在這些子文件夾中,我有很多需要閱讀的.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");
}
提示:更喜歡使用「我的」到「我們的」,並運行perl -w選項(如果可能的話儘量使用「strict」)。如果使用「我的」但沒有嚴格的話,它會警告你「$ file」是未定義的,嚴格的說,它會在運行之前說「$ file」未聲明。 – araqnid 2009-05-18 18:15:16