Je fais une fonction récursive qui me permet de rechercher les sous-répertoires d'un répertoire.

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
20
#Ouvrerture du répertoire
		opendir($DIR, "$_[0]") || Error('ouverture', 'repertoire');
 
		#Lecture du répertoire
		while($Fichier = readdir($DIR))
		{
			#S'il ne s'agit pas du répertoire courant et du répertoire parent
			if(($Fichier ne ".") && ($Fichier ne ".."))
			{
				#Si c'est un répertoire
				if(-d $Fichier)
				{	
					#Crée un fichier tar du répertoire à archiver.
					OuvrirRepertoire("$_[0]/$Fichier", "$_[1]-$Fichier", $_[2] - 1);
				}
			}
		}
 
		#Fermeture du répertoire
		closedir($DIR) || Error('fermeture', "repertoire $_[0]");
mon problème est que lorsque je vérifie si les fichiers d'un répertoire avec -d $Fichier, il y a des répertoires qui ne sont pas détectés.
y'aurait pas une meilleur fonction que -d pour faire ce test?