Salut,
il devrait afficher : 1 4 6 2 55 56 57 58.
Ben, il affiche, mais pas tester sur tes ligne de ton message, mes sur le fichier que tu as mis en pièce jointe.
Voilà le script
#!/usr/bin/perl
open F_FILE,"leo25.txt" or die "E/S : $!";
open TEMP,">temp" or die "E/S : $!\n";
open LIRE,"temp" or die "E/S :$!\n";
open RES, ">res_leo" or die "E/S : $!\n";
while( <F_FILE> ){
s/\r?\n/ / if /noeuds/i;
s/^\s*//;
print TEMP $_;
}
while (<LIRE>) {
next unless /element\b|noeuds/i;
s/\s+/ /g if /noeuds/i;
print RES " $1\n" if /noeuds.*:\s+(.*)/i;
}
unlink("temp");Et le resultat
1 4 6 2 55 56 57 58
1 2 7 5 55 58 59 60
2 6 8 3 58 57 61 62
2 3 9 7 58 62 63 59
4 10 11 6 56 64 65 57
5 7 13 12 60 59 66 67
6 11 14 8 57 65 68 61
7 9 15 13 59 63 69 66
10 16 17 11 64 70 71 65
11 17 18 14 65 71 72 68
12 13 20 19 67 66 73 74
13 15 21 20 66 69 75 73
16 22 23 17 70 76 77 71
17 23 24 18 71 77 78 72
19 20 26 25 74 73 79 80
20 21 27 26 73 75 81 79
22 28 29 23 76 82 83 77
23 29 30 24 77 83 84 78
25 26 32 31 80 79 85 86
26 27 33 32 79 81 87 85
28 34 35 29 82 88 89 83
29 35 36 30 83 89 90 84
31 32 38 37 86 85 91 92
32 33 39 38 85 87 93 91
34 40 41 35 88 94 95 89
35 41 42 36 89 95 96 90
37 38 44 43 92 91 97 98
38 39 45 44 91 93 99 97
40 46 47 41 94 100 101 95
41 47 48 42 95 101 102 96
43 44 50 49 98 97 103 104
44 45 51 50 97 99 105 103
46 52 53 47 100 106 107 101
47 53 54 48 101 107 108 102
49 50 53 52 104 103 107 106
50 51 54 53 103 105 108 107
55 56 57 58 109 110 111 112
55 58 59 60 109 112 113 114
58 57 61 62 112 111 115 116
58 62 63 59 112 116 117 113
56 64 65 57 110 118 119 111
60 59 66 67 114 113 120 121
57 65 68 61 111 119 122 115
59 63 69 66 113 117 123 120
64 70 71 65 118 124 125 119
65 71 72 68 119 125 126 122
67 66 73 74 121 120 127 128
66 69 75 73 120 123 129 127
70 76 77 71 124 130 131 125
71 77 78 72 125 131 132 126
74 73 79 80 128 127 133 134
73 75 81 79 127 129 135 133
76 82 83 77 130 136 137 131
77 83 84 78 131 137 138 132
80 79 85 86 134 133 139 140
79 81 87 85 133 135 141 139
82 88 89 83 136 142 143 137
83 89 90 84 137 143 144 138
86 85 91 92 140 139 145 146
85 87 93 91 139 141 147 145
88 94 95 89 142 148 149 143
89 95 96 90 143 149 150 144
92 91 97 98 146 145 151 152
91 93 99 97 145 147 153 151
94 100 101 95 148 154 155 149
95 101 102 96 149 155 156 150
98 97 103 104 152 151 157 158
97 99 105 103 151 153 159 157
100 106 107 101 154 160 161 155
101 107 108 102 155 161 162 156
104 103 107 106 158 157 161 160
103 105 108 107 157 159 162 161
109 110 111 112 163 164 165 166
109 112 113 114 163 166 167 168
112 111 115 116 166 165 169 170
112 116 117 113 166 170 171 167
110 118 119 111 164 172 173 165
114 113 120 121 168 167 174 175
111 119 122 115 165 173 176 169
113 117 123 120 167 171 177 174
118 124 125 119 172 178 179 173
119 125 126 122 173 179 180 176
121 120 127 128 175 174 181 182
120 123 129 127 174 177 183 181
124 130 131 125 178 184 185 179
125 131 132 126 179 185 186 180
128 127 133 134 182 181 187 188
127 129 135 133 181 183 189 187
130 136 137 131 184 190 191 185
131 137 138 132 185 191 192 186
134 133 139 140 188 187 193 194
133 135 141 139 187 189 195 193
136 142 143 137 190 196 197 191
137 143 144 138 191 197 198 192
140 139 145 146 194 193 199 200
139 141 147 145 193 195 201 199
142 148 149 143 196 202 203 197
143 149 150 144 197 203 204 198
146 145 151 152 200 199 205 206
145 147 153 151 199 201 207 205
148 154 155 149 202 208 209 203
149 155 156 150 203 209 210 204
152 151 157 158 206 205 211 212
151 153 159 157 205 207 213 211
154 160 161 155 208 214 215 209
155 161 162 156 209 215 216 210
158 157 161 160 212 211 215 214
157 159 162 161 211 213 216 215
163 164 165 166 217 218 219 220
163 166 167 168 217 220 221 222
166 165 169 170 220 219 223 224
166 170 171 167 220 224 225 221
164 172 173 165 218 226 227 219
168 167 174 175 222 221 228 229
165 173 176 169 219 227 230 223
167 171 177 174 221 225 231 228
172 178 179 173 226 232 233 227
173 179 180 176 227 233 234 230
175 174 181 182 229 228 235 236
174 177 183 181 228 231 237 235
178 184 185 179 232 238 239 233
179 185 186 180 233 239 240 234
182 181 187 188 236 235 241 242
181 183 189 187 235 237 243 241
184 190 191 185 238 244 245 239
185 191 192 186 239 245 246 240
188 187 193 194 242 241 247 248
187 189 195 193 241 243 249 247
190 196 197 191 244 250 251 245
191 197 198 192 245 251 252 246
194 193 199 200 248 247 253 254
193 195 201 199 247 249 255 253
196 202 203 197 250 256 257 251
197 203 204 198 251 257 258 252
200 199 205 206 254 253 259 260
199 201 207 205 253 255 261 259
202 208 209 203 256 262 263 257
203 209 210 204 257 263 264 258
206 205 211 212 260 259 265 266
205 207 213 211 259 261 267 265
208 214 215 209 262 268 269 263
209 215 216 210 263 269 270 264
212 211 215 214 266 265 269 268
211 213 216 215 265 267 270 269
217 218 219 220 271 272 273 274
217 220 221 222 271 274 275 276
220 219 223 224 274 273 277 278
220 224 225 221 274 278 279 275
218 226 227 219 272 280 281 273
222 221 228 229 276 275 282 283
219 227 230 223 273 281 284 277
221 225 231 228 275 279 285 282
226 232 233 227 280 286 287 281
227 233 234 230 281 287 288 284
229 228 235 236 283 282 289 290
228 231 237 235 282 285 291 289
232 238 239 233 286 292 293 287
233 239 240 234 287 293 294 288
236 235 241 242 290 289 295 296
235 237 243 241 289 291 297 295
238 244 245 239 292 298 299 293
239 245 246 240 293 299 300 294
242 241 247 248 296 295 301 302
241 243 249 247 295 297 303 301
244 250 251 245 298 304 305 299
245 251 252 246 299 305 306 300
248 247 253 254 302 301 307 308
247 249 255 253 301 303 309 307
250 256 257 251 304 310 311 305
251 257 258 252 305 311 312 306
254 253 259 260 308 307 313 314
253 255 261 259 307 309 315 313
256 262 263 257 310 316 317 311
257 263 264 258 311 317 318 312
260 259 265 266 314 313 319 320
lami20j
P.S. Comme je t'ai déjà dit je l'ai testé sur le fichier que tu as mis sur cjoint.com
Il ne faut pas jouer avec les fins de lignes.
Dans ton fichier la fine de ligne est spécifique à Windows :
Carriage Return + NewLine
\r\n
Si ça ne convient pas alors je ne sais plus quoi faire. J'ai testé chez moi et ça marche.
peut être si on revient vers ma soluce et on l'améliore. c'est toi qui voit
Ne le prends pas mal, mais sur les chaînes de caractères vaut mieux utiliser les regex que les tableaux, sauf si on n'a pas le choix.
Mais ce n'est pas le cas de Perl.
Tu dois apprendre
TMTOWTDI
There's More Than One Way To Do It
Il y a plusieurs façon de le faire