53 votes

Comment lister tous les fichiers d'un répertoire avec Perl?

Existe-t-il une fonction en Perl qui répertorie tous les fichiers et répertoires d'un répertoire? Je me souviens que Java a le File.list() pour faire ça? Existe-t-il une méthode comparable en Perl?

13voto

Vinko Vrsalovic Points 116138

readdir () fait cela.

Consultez http://perldoc.perl.org/functions/readdir.html

 opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
@dots = grep { /^\./ && -f "$some_dir/$_" } readdir(DIR);
closedir DIR;
 

11voto

Todd Gardner Points 8688

Ou Fichier :: Rechercher

 use File::Find;
finddepth(\&wanted, '/some/path/to/dir');
sub wanted { print };
 

Il passera par des sous-répertoires s'ils existent.

11voto

Matthew Vines Points 14425

cela devrait le faire.

 my $dir = "bla/bla/upload";
opendir DIR,$dir;
my @dir = readdir(DIR);
close DIR;
foreach(@dir){
    if (-f $dir . "/" . $_ ){
        print $_,"   : file\n";
    }elsif(-d $dir . "/" . $_){
        print $_,"   : folder\n";
    }else{
        print $_,"   : other\n";
    }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X