Bonjour,

Je suis actuellement en train de créer un programme qui fait du parsing de fichier texte et affiche le résultat sous excel.
Je n'arrive pas à avancer car j'ai un soucis. Je m'explique

voila mon code
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
 	use strict;
	use warnings;
    use Spreadsheet::WriteExcel;
 
    # Create a new workbook and add a worksheet
    my $workbook  = Spreadsheet::WriteExcel->new('C:\\Documents and Settings\\fonctionnement_excel.xls');
    my $worksheet = $workbook->add_worksheet('Test data');
	my $fichier_log = "C:\\Trace_20140611_100702.log";    # Emplacement du fichier "fichier_log"
	my $fh_log;
 
 
open ($fh_log, '<', $fichier_log) or die "Impossible d'ouvrir le fichier en lecture";	# Ouverture du fichier pour la lecture
 
  # Set the column width for columns 1
    $worksheet->set_column(0, 0, 45);
 
 
    # Create a format for the headings
    my $format = $workbook->add_format();
    $format->set_bold();
 
my $start_time_postural_assessment;
 
while(my $ligne = <$fh_log>)	# Lire chaque ligne du fichier fh_log
{
 
	my($heure, $minute, $seconde, $milliseconde)=$ligne =~ /(\d\d):(\d\d):(\d\d).(\d\d\d)/;	# Initialisation des variables de l'heure
 
		my $end_time_postural_assessment;	# Initialisation de end_time_postural_assessment
 
	if ($ligne =~ /Postural assessment settings/)	# Si "Postural assessment settings" est écrit dans une ligne
		{
		$cpt_postural_assessment_study++;	# Incrémentation du compteur
		my($heure, $minute, $seconde, $milliseconde)=$ligne =~ /(\d\d):(\d\d):(\d\d).(\d\d\d)/;
		$start_time_postural_assessment = (((($heure * 60)+ $minute) *60 + ($seconde+($milliseconde/1000)))/60);	# Calculer la valeur de start_time_postural_assessment
		}
	elsif ($ligne =~ /Postural assessment complete/)
		{
		my($heure, $minute, $seconde, $milliseconde)=$ligne =~ /(\d\d):(\d\d):(\d\d).(\d\d\d)/;
		$end_time_postural_assessment = (((($heure * 60)+ $minute) *60 + ($seconde+($milliseconde/1000)))/60);	# Calculer la valeur de end_time_postural_assessment
		}
	if (defined $end_time_postural_assessment)	# Si end_time_postural_assessment existe 
		{
		my $temps_postural_assessment = ($end_time_postural_assessment) - ($start_time_postural_assessment) if defined $end_time_postural_assessment; # Calculer la valeur de temps_postural_assessment
		$temps_postural_assessment = sprintf("%0.2f", $temps_postural_assessment);	# Arrondir la valeur de temps_postural_assessment avec 2 chiffres après la virgule
		my $temps_heures_postural_assessment = $temps_postural_assessment/60;	# Calculer la valeur de temps_heures_postural_assessment
		$temps_heures_postural_assessment = sprintf("%0.2f", $temps_heures_postural_assessment);	# Arrondir la valeur de temps_heures_postural_assessment avec 2 chiffres après la virgule 
		$worksheet -> write (5,0,"Etude numero $cpt_postural_assessment_study de la posture globale", $format);
		$worksheet -> write (5,1,"$temps_postural_assessment",$format);	# Ecrire dans le fichier compteur_workflow_temps.txt
		$worksheet -> write (5,2, 'minutes',$format);
		$worksheet -> write (6,1, "$temps_heures_postural_assessment", $format);
		$worksheet -> write (6,2,'heures',$format);
 
		}
 
 
}
 
close $fh_log;	# Fermeture du fichier fh_txt
Lorsque je compile, il n'y a pas d'erreur mais le fichier excel s'ouvre et n'affiche rien alors que moi je voudrais avoir un résultat comme celui -ci

Etude numero 1 de la colonne vertébrale 27.52 minutes
0,46 heures

Etude numero 2 de la colonne vertébrale 20 minutes
0,33 heures

Voyez-vous ou se trouve mon erreur ?

Merci bien