sub GetFilesList { my $Path = $_[0]; my $FileFound; my @FilesList=(); 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" ); } elsif ( -d "$Path\\$FileFound") { # recursivité pour rechercher les autres dossier push (@FilesList, GetFilesList("$Path\\$FileFound") ); } } return @FilesList; } my $executable = '"C:\\Program Files (x86)\\Cryptophane\\GnuPG\\gpg.exe" '; my $mail = '--recipient didiertest '; my @Files = GetFilesList ("C:\\Users\\didier\\Desktop\\test2"); foreach my $File (@Files) { my $Fileout = "\"$File.gpg\""; $File = "\"$File\""; my $sortie = '--output ' . $Fileout . ' '; my $encrypt = '--encrypt ' . $File . ' '; my $command = $executable . $mail . $sortie . $encrypt ; system($command); }