Bonjour à tous,
Je rencontre un problème pour enregistrer le temps que met mon script perl.
Mon problème vient du fait que j'ai un premier script qui sert un peu de main et qui appelle un autre script en lui passant les paramètres.

Script main.pl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#! /usr/bin/perl
 
foreach $lettre ("a", "b", "c"){
	foreach $chiffre (1, 2, 3){
		system("perl test.pl $lettre $chiffre");
	}
}
Script test.pl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#! /usr/bin/perl
$lettre = $ARGV[0];
$chiffre = $ARGV[1];
 
print "test : $lettre $chiffre\n";
`touch test$lettre$chiffre`;
J'ai besoin d'enregistrer le résultat de time dans le fichier qui est créé par le script test afin de sauvegarder le temps d'exécution de chaque expérimentation. Tous les fichiers créés par le script test ont toujours le format test$lettre$chiffre, du coup j'ai essayé d'ajouter le temps à la fin de ce fichier en utilisant cette commande dans mon main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
system("( time perl test.pl $lettre $chiffre ) 2> test$lettre$chiffre");
Mais malheureusement bien que cette commande écrive le temps dans le bon fichier, elle me l'écrit au début du fichier ce qui efface ce qui avait avant sur les 10 premières lignes.
Du coup comment puis je faire pour y enregistrer à la fin?

De plus le temps retourné a un format bizarre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
0.15user 0.02system 0:00.16elapsed 112%CPU (0avgtext+0avgdata 88800maxresident)k
0inputs+80outputs (0major+6815minor)pagefaults 0swaps
Comment dois je faire pour avoir un format simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
real        0m4.704s
user        0m4.584s
sys        0m0.684s
Bonne journée à ceux qui me liront