Bonjour,

J'ai deux types de fichiers (.txt et .fa) dont les noms sont identiques si ce n'est l'extension. Tous mes fichiers .fa contiennent le correspondant .txt mais la réciproque n'est pas vraie. J'aimerais donc récupérer la liste des fichiers .txt n'ayant aucun fichier .fa associé.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
my @fichiers_fa = glob("P:/Theorie/PCR_Bact_Hybridation/Sondes_en_Demis/NouveauxMarqueurs/Seq_16_23S/consensus/*.fa");
my @fichiers_txt = glob("P:/Theorie/PCR_Bact_Hybridation/Sondes_en_Demis/NouveauxMarqueurs/Seq_16_23S/consensus/*.txt");
 
my %h_fichiers_fa;
 
foreach my $fich_fa (@fichiers_fa){
    $fich_fa =~ s/fa/txt/g;
    $h_fichiers_fa{$fich_fa} = 1;
}
my @seq_uniques = grep{ !exists $h_fichiers_fa{$_}}@fichiers_txt;
J'aimerais savoir si la façon dont je procède est correcte. J'ai l'impression qu'on pourrait faire plus court.

Merci pour votre aide,