Bonjour je travail actuellement sur un outil dont j'ai besoin pour configurer des vues sous Clearcase et pour cela j'ai besoin de générer un hash contenant l'arborescence de mes modules et sous modules.

En gros pour faire simple, j'aurais besoin de passer une liste à ma fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
my @list = ("a/b/c","a/b/d")
et de récupérer en résultat un hash de la forme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$hash = {
                 a => {
                              b => {
                                           c => {},
                                           d => {}
                              }
                 }
}
J'ai essayé de faire une telle fonction mais mon hash ne contient seulement la structure du dernier élément de la liste.

Voici ma fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
sub setHash{
	my $listModule = shift;
	my $tree = {};
 
	my @listArr = split("/",$listModule);
	while(scalar(@listArr)>0){
		my $elem = shift(@listArr);
		$tree->{$elem} = setHash(join('/',@listArr));
		return $tree;
	}
	return $tree;
}
Si par hasard quelqu'un aurait une idée ça serait super.