Wie lese ich mehrere Verzeichnisse und Lesen Sie den Inhalt von Unterverzeichnissen in Perl?

Ich habe ein Ordner, und in dieser habe ich viele Unterordner. In diesen Unterordnern habe ich viele .html-Dateien gelesen werden. Ich habe geschrieben, die folgenden code zu tun. Es öffnet den übergeordneten Ordner und auch den ersten Unterordner, und es gibt nur eine .html-Datei. Es zeigt Fehler:

NO SUCH FILE OR DIRECTORY

Ich möchte nicht den gesamten code. Änderungen in den bestehenden code wird für mich gut sein.

 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");
  }
  • Tipp: lieber mit "meiner" zu "unserer", und führen Sie perl mit der option-w (und "use strict" wenn überhaupt möglich). geholfen hätte zeigen sich diese Fehler früher: mit "meine", aber ohne strenge, es hätte davor gewarnt, dass du "$file" wurde nicht definiert, und mit strenge, es wäre gestorben vor der Ausführung sagt, dass "$file" war nicht deklarierte.
InformationsquelleAutor User1611 | 2009-05-18
Schreibe einen Kommentar