Salut à tous,
j'aurais besoin un peu d'aide pour contruire ma table %datdir ( qui a pour clef $s_project et pour valeurs des listes @ldat).
Je veux avoir dans une table datdir tous les liste ldat que je recupere des $s_project de tous les $s_client.
Mais ceci push @{$datdir{$s_project}}, @ldat ne marche pas,
Merci pour grain de sel
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
21
22
23
24
25
26
27
28
29
30 sub CheckProjectDir() { #_: s_client : Indexe les clefs (client) de la table %project #_: s_project : Indexe les valeurs (etudes) de la table %project #_: s_dir : stocke le project courant #_: s_dsc : stocke le dsc du projet courant my ($s_client, $s_project, $s_dir, $s_dsc); for $s_client (keys (%project)) { if ($check) {print "Client : $s_client\n" ;} #for $s_project (values (%project)) for $s_project (@{$project{$s_client}}) { if ($check) { print "\tEtude : $s_project\n"; } $s_dir="$maindir/$s_client/$s_project "; #project courant next if !-d $s_dir ; if ($check) { print "\t\tChemin : $s_dir\n";} # probleme d'affichage du chemin opendir (FHdir, $s_dir); if ($?!=0) { &MyWarning(__LINE__, $!, "Can not open directory $s_dir "); next;} @ldat = glob('*.dat '); # la liste des fichiers .dat du project courant $s_dsc = glob('.dsc'); # dsc du project courant # $s_dsc=$s_project.".dsc"; closedir(FHdir); } push @{$datdir{$s_project}}, @ldat ; # %datdir a pour clef s_project et pour valeurs @ldat push @dscdir, $s_dsc; } return %datdir; # Retourner la liste des .dat d'un project return @dscdir; # Stocke les dsc des project d'un client }
Partager