Bonjour,

J'écris un script Perl qui, dans un thread, lance un exécutable, et doit traiter les traces affichées au fur et à mesure par cet exécutable (i.e: les stocker dans une bdd). Sachant que les premières traces en sortie arrivent quelque temps après lancement de l'exe..
donc en essayant un truc du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$thr = threads->new(\&sub_fonction);
 
sub subfonction() {
 
	$cmd = "./executable | ";
 
	open(OUT, $cmd) || die "impossible de dupliquer le processus $!";
 
	while (my $ln = <OUT>) {
	....
	}
	close(OUT);
}
Il semble que mon prog n'entre jamais dans la boucle <while> parce que pas de sortie de traces immédiate (en essayant avec la cmd linux date ou ls, ça marche).

Qqn peut-il m'aider?
Merci d'avance