J'ai un code qui est redondant avec juste qques différences et il faut que je crée des fonctions pour le réduire. Mais avec des fichiers je sais pas faire.
Pouvez vous m'aider?
Bon ya pleins de trucs avant mais c'est juste ca que je veux réduire
Merci d'avance

Lili

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
open $carnet,'<',$ficcarnet or die "fichier non ouvert!\n";
 
		$compteur=0;
		while($ligne=<$carnet>){	#compte le nombre de résultats pour que s'il y en a plus de 2, fasse une comparaison
			if($ligne=~/resultat/){
				$compteur=$compteur+1;
			}
		}
 
		close $carnet;
 
		open $carnet,'<',$ficcarnet or die "fichier non ouvert!\n";
 
		if($compteur>1){							#met les résultats ds un tab
			while($ligne=<$carnet>){
				if($ligne=~/resultat/){
					@tab1=split(/=/,$ligne);
					push(@tab2,$tab1[1]);
				}
			}
 
			close $carnet;
 
			open $carnet,'>>',$ficcarnet;
 
			$i=$#tab2;
			if($tab2[$i]>$tab2[$i-1]){					#comparaison 2 derniers résultats
				$ajout=("Resultats meilleurs\n");
				print $ajout;
				print $carnet $ajout;
			}
			else{
				if($tab2[$i]<$tab2[$i-1]){
					$ajout=("Resultats moins bons\n");
					print $ajout;
					print $carnet $ajout;
				}
				else{
					$ajout=("Pas de changements\n");
					print $ajout;
					print $carnet $ajout;
				}
			}
			close $carnet;
 
 
			if($ajout ne "Pas de changements\n"){
				open $carnet,'<',$ficcarnet or die "fichier non ouvert\n";
				while($ligne=<$carnet>){
					if($ligne=~/^fautes/){
						@tab=split(/=/,$ligne);
						push(@tab3,$tab[1]);
					}
				}
				close $carnet;
 
				open $carnet,'>>',$ficcarnet;
				$i=$#tab3;
 
				if($tab3[$i-1]<$tab3[$i]){					#comparaison fautes
					$faute=$tab3[$i]-$tab3[$i-1];
					$ajout=("$faute fautes en plus\n");
					print $ajout;
					print $carnet $ajout;
				}
				else{
					if($tab3[$i-1]>$tab3[$i]){
						$faute=$tab3[$i-1]-$tab3[$i];
						$ajout=("$faute fautes en moins\n");
						print $ajout;
						print $carnet $ajout;
 
					}
					else{
						$ajout=("Meme nombre d'erreurs\n");
						print $ajout;
						print $carnet $ajout;
					}
				}
 
			}									#fin du si changements									
 
		}									#fin du si compteur > 1
		close $carnet;
 
 
		open $carnet2,'<',$ficcarnet2 or die "fichier non ouvert!\n";
 
		if($compteur>1){							#met les résultats ds un tab
			while($ligne=<$carnet2>){
				if($ligne=~/resultat/){
					@tab1=split(/=/,$ligne);
					push(@tab2,$tab1[1]);
				}
			}
 
 
			close $carnet2;
 
			open $carnet2,'>>',$ficcarnet2;
 
			$i=$#tab2;
			if($tab2[$i]>$tab2[$i-1]){					#comparaison 2 derniers résultats
				$ajout=("Resultats meilleurs\n");
				print $carnet2 $ajout;
			}
			else{
				if($tab2[$i]<$tab2[$i-1]){
					$ajout=("Resultats moins bons\n");
					print $carnet2 $ajout;
				}
				else{
					$ajout=("Pas de changements\n");
					print $carnet2 $ajout;
				}
			}
			close $carnet2;
 
 
			if($ajout ne "Pas de changements\n"){
				open $carnet2,'<',$ficcarnet2 or die "fichier non ouvert\n";
				while($ligne=<$carnet2>){
					if($ligne=~/^fautes/){
						@tab=split(/=/,$ligne);
						push(@tab3,$tab[1]);
					}
				}
				close $carnet2;
 
				open $carnet2,'>>',$ficcarnet2;
				$i=$#tab3;
 
				if($tab3[$i-1]<$tab3[$i]){					#comparaison fautes
					$faute=$tab3[$i]-$tab3[$i-1];
					$ajout=("$faute fautes en plus\n");
					print $carnet2 $ajout;
				}
				else{
					if($tab3[$i-1]<$tab3[$i]){
						$faute=$tab3[$i-1]-$tab3[$i];
						$ajout=("$faute fautes en moins\n");
						print $carnet2 $ajout;
					}
					else{
						$ajout=("Meme nombre d'erreurs\n");
						print $carnet2 $ajout;
					}
				}
 
 
			}	#fin du si changements	
			close $carnet2;
		}	# fin si compteur > 1