Bonjour a tous ,

J'aimerais sollicitter votre aide pour recuperer des informations dans un fichier

Je recois des fichiers par jour contenant les informations suivante :

lundi 20 15:30
24765+33
7352.373
7758638.237
lundi 20 15:45
218388
565345
7845450.2
lundi 20 16:00
153783
18738.2
268673
lundi 20 16:15
547828
15337939
12933947
lundi 20 16:30
17888.2723
445345.678

ou

mardi 20 15:30
7352.373
7758638.237
mardi 20 15:45
218388
7845450.2
mardi 20 16:00
153783
268673
mardi 20 16:15
547828
12933947
mardi 20 16:30
445345.678

je voudrais pouvoir recuperer ces informations et les retranscrire sous cette forme

lundi 20 15:30,24765+33,7352.373,7758638.237
lundi 20 15:45,218388,565345,7845450.2
lundi 20 16:00,153783,18738.2,268673
lundi 20 16:15,547828,15337939,12933947
lundi 20 16:30,17888.2723,445345.678

En utilisant le language perl, j'ai commence ainsi utilisant une table de hash.
Mais lorsque je veux recuperer les chiffres je bloque.


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
#!/usr/bin/perl 
# 
use strict; 
use warnings; 
 
 
my ($mot,$chif); 
my %mots = (); 
my %chif = (); 
$i=0; 
open F1,"$tt/x.txt" or die "E/S: $!n"; 
while (<F1>){ 
	# Maintenant on a la ligne courante dans $_ (variable magique) 
    	# On enleve le retour chariot de fin de ligne 
        chomp; 
	# Si la ligne ($_) commence par tout sauf un 'mot' plusieurs fois (stockage dans $1) 
    	# puis suivit de n'importe quoi (.*) 
	 if ($_=~/^(D+.*)/){ 
		$var=''; 
    		$mot=$1; 
    		chomp($mot); 
    		$mots{$i}=$mot; 
		$i++; 
		} 
	if ($_=~ /^(d+.*)/) { 
 
		ICI JE BLOQUE 
  		} 
} 
foreach (sort %mot){ 
  #if (defined($mot{$_})){ 
    print  $mot{$_}."."n"; 
  #} 
} 
 
close(F1);