Bonjour à tous;
Dans le répertoire 'P:/Theorie/PCR_Bact_Hybridation/Fichiers_FASTA_74_79', j'ai une série de répertoires '$Bact' contenant chacun une série de fichiers $Sonde.fsa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 my $pDirectory; my $path = "P:/Theorie/PCR_Bact_Hybridation/Fichiers_FASTA_74_79"; opendir ($pDirectory,$path) or die ("Directory ".$path." can't be open!\n"); my @Directory_list = readdir($pDirectory); closedir ($pDirectory); foreach my $Bact (@Directory_list) { if($Bact=~/\w*_\w*_\w*/) { my $psubDirectory; my $subpath = "P:/Theorie/PCR_Bact_Hybridation/Fichiers_FASTA_74_79/$Bact"; opendir ($psubDirectory,$subpath) or die ("Directory ".$subpath." can't be open!\n"); my @subDirectory_list = readdir($psubDirectory); closedir ($psubDirectory); foreach my $Sonde (@subDirectory_list) {...
Je récupère la liste de mes répertoires dans @Directory_list et ensuite si c'est un répertoire (vérifié par /\w*_\w*_\w*/), je l'ouvre et j'y récupère les fichiers à analyser.
J'ai deux questions :
1) au lieu de faire
j'amerais faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($Bact=~/\w*_\w*_\w*/)
afin de vérifier plus proprement que $Bact soit bien un répertoire et non un fichier. Mais de cette façon, je ne récupère que '.' et '..' et non les répertoires que j'aimerais utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(-d$Bact)
=> 'P:/Theorie/PCR_Bact_Hybridation/Fichiers_FASTA_74_79' contient des fichiers qui ne doivent pas être utiliser et une série de répertoires devant tous être récupérés.
2) Mes boucles ne fonctionne pas car en plus de mes noms de fichiers, je récupère les répertoires racines '.' et '..'. Comment puis-je faire afin de les supprimer de ma liste.
Donc en résumé, ce que j'aimerais faire c'est récupérer tous les fichiers :
en utilisant opendir car je dois garder les noms de mes répertoires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part my @liste = glob('P:/Theorie/PCR_Bact_Hybridation/Fichiers_FASTA_74_79/*/*.fsa');
Merci beaucoup,
Jasmine,
Partager