Bonjour,
j'ai un tableau d'hachage remplis avec des références sur d'autres tableaux.
En parcourant les élément de se tableau, je ne peux pas comprendre le résultat, sur tout lorsque j'utilise la même fonction d'une maniére recursive quand je me trouve avec un tableau d'hachage.Est ce que quelqu'un peux m'explique pourquoi se comportement.
voilà mon code:
et voilà le résultat:
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 #!/usr/local/bin/perl @array1=("get_values","Creative ID","false"); @array2=("get_values","Sales" ,"false"); %h1=("table"=>[\@array1,\@array2]); @array3=("get_values","Campaign Name","false"); @array4=("get_values","Impressions" ,"false"); @array5=("get_values_and_click","Total Sales",\%h1); %h=("table"=>[\@array3,\@array4,\@array5]); sub my_hach{ %h= @_; foreach my $k (keys(%h)){ @array6= @{ $h{$k} }; for my $i (0..$#array6){ @array7=@{$array6[$i]}; for my $j (0..$#array7){ if(ref($array7[2])){ my_hach(%{$array7[2]}); print "$i-$j ->$array7[2]\n"; }else{ print "$i-$j ->$array7[$j] \n"; } } } } } my_hach(%h);
et à mon avis je dois avoir sa-et c'est sa mon objectif-:
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 0-0 ->get_values 0-1 ->Campaign Name 0-2 ->false 1-0 ->get_values 1-1 ->Impressions 1-2 ->false 2-0 ->HASH(0x9d27424) 0-0 ->get_values 0-1 ->Creative ID 0-2 ->false 1-0 ->get_values 1-1 ->Sales 1-2 ->false 2-1 ->Sales 2-2 ->false
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 0-0 ->get_values 0-1 ->Campaign Name 0-2 ->false 1-0 ->get_values 1-1 ->Impressions 1-2 ->false 2-0 ->get_value_and_click 2-1 ->Total Sales 0-0 ->get_value 0-1 ->Creative ID 0-2 ->false 1-0 ->get_values 1-1 ->Sales 1-2 ->false 2-2 ->HASH(0x9d27424)
Partager