Voila j'ai un petit probleme avec le module File::Find.
J'ai un repertoire pepfiles, je veux imprimer tous les fichiers present dans ce repertoire, mais pas dans ces sous repertoires (pour l'exemple).
Je met mon code ici :
Ca fonctionne correctement ou presque pour tous les fichiers qui possede une extension je n'ai pas de probleme par contre pour ce qui n'ont pas d'extension j'obtien quelques choses d'etrange !!! Je vous montre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 use File::Find; sub DirGet{ my $dir = "/aaa/bbb/ccc"; my $files = (); find({ wanted => \&process, follow => 1, no_chdir }, $dir); my $a = 0; } sub process { $a = $File::Find::name . "/$_"; print "$a\n"; }
Voyez la derniere ligne j'ai bien un fichier all dans /aaa/bbb/ccc/ mais pas de repertoire all contenant un fichier all./aaa/bbb/ccc/abc.pep
/aaa/bbb/ccc/def.pep
/aaa/bbb/ccc/all/all
Quelqu'un a une idee ?
Bon j'edit mon message car j'ai une question qui me viens a l'esprit...
Comment faire si je veux que dans certain cas j'affiche tous les fichiers et dans d'autre seulement les fichiers ayant une certaine extension ?
Encore moi juste pour dire que finalement mon code resemble a ca :
car sinon je vois pas comment recuperer un tableau contenant les noms des differents fichiers des suggestions ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my $files = (); find({ wanted => sub { push @$files, $File::Find::name . "/$_"}, follow => 1, no_chdir }, $directories);
Partager