• 🏠 Home
  • 🧰 Online Generators
  • 📰 Blog
  • 🔎 Search
  • 📧 Contact
  • 📘 Guestbook
  • 🗞️ News
  • 💰 Support
  • ℹ️ Info: The website has been modernized to improve readability and smartphone compatibility. Feel free to report any bugs using the contact form
     

    Sorry, but this page is not yet available in english.

    Clic here to send a translate request


    Programmation Perl - Lister récursivement un répertoire


    Cette fonction va parcourir tout le contenu d'un répertoire en mode récursif, et renvoyer dans un tableau la liste de tous les fichiers trouvés et leurs chemins.

    Le code

    #
    # GetFilesList - Renvoie la liste des fichiers d'un repertoire (en mode recursif)
    #
    sub GetFilesList
    {
            my $Path = $_[0];
            my $FileFound;
            my @FilesList=();
    
            # Lecture de la liste des fichiers
            opendir (my $FhRep, $Path)
                    or die "Impossible d'ouvrir le repertoire $Path\n";
            my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
            closedir ($FhRep);
    
            foreach my $FileFound (@Contenu) {
                    # Traitement des fichiers
                    if ( -f "$Path/$FileFound") {
                            push ( @FilesList, "$Path/$FileFound" );
                    }
                    # Traitement des repertoires
                    elsif ( -d "$Path/$FileFound") {
                            # Boucle pour lancer la recherche en mode recursif
                            push (@FilesList, GetFilesList("$Path/$FileFound") );
                    }
    
            }
            return @FilesList;
    }
    
    #
    # Boucle principale
    #
    my @Files = GetFilesList ("/home/jerome/Documents/");
    foreach my $File  (@Files) {
    	print "$File\n";
    }
    

     

    Retour


    (c) 2005-2025 Jérôme DESMOULINS
    Data privacy