Galere avec utilisation de hash
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:
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); |