Bonjour,

Suite à ce post
http://www.developpez.net/forums/viewtopic.php?t=417080

j'en ouvre un nouveau car je n'arrive pas à traiter le résultat du second script : analyse de la présence de "timeout".
Le résultat du script2 s'affiche différemment à l'écran selon que je le lance directement ou via le script1.

Lancement de script 2 à la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
[root@PCTEST ²configVDR]# ./xml.pl -t 1 -v -c channels.conf -x mixed.xml -l channels_mixed.trans
Reading file 'channels.conf'...
Reading file 'mixed.xml'...
All information imported...
Updating EPG...
Channel: M6
********************************************
 
timeout
[root@PCTEST ²configVDR]#
Lorsque je lance script2 via script1 comme ceci :

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
 
my @Result = qx/perl xml.pl -t 1 -v -c $GrabDir"channels.conf" -x $GrabDir$XmlFileName -l $GrabDir$ChannelsTransName/;
print "\n\n\n";
 
print "RAPPORT\n\n";
print "0: "; print @Result[0]; 
print "1: "; print @Result[1]; 
print "2: "; print @Result[2]; 
print "3: "; print @Result[3]; 
print "4: "; print @Result[4]; 
print "5: "; print @Result[5]; 
print "6: "; print @Result[6]; 
print "7: "; print @Result[7]; 
print "8: "; print @Result[8]; 
print "9: "; print @Result[9]; 
exit;

Je récupère cela :
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
 
[root@PCTEST ²configVDR]# ./auto.pl -d
Scalar value @Result[0] better written as $Result[0] at ./auto.pl line 217.
"my" variable @Result masks earlier declaration in same scope at ./auto.pl line 217.
Scalar value @Result[1] better written as $Result[1] at ./auto.pl line 218.
"my" variable @Result masks earlier declaration in same scope at ./auto.pl line 218.
timeout
 
 
 
RAPPORT
 
0: Reading file '/video0/²configVDR/channels.conf'...
1: Reading file '/video0/²configVDR/mixed.xml'...
2: All information imported...
3: Updating EPG...
4: Channel: M6
5: ******************************************
Use of uninitialized value in print at ./auto.pl line 223.
Use of uninitialized value in print at ./auto.pl line 224.
Use of uninitialized value in print at ./auto.pl line 225.
Use of uninitialized value in print at ./auto.pl line 226.
6: 7: 8: 9: [root@PCTEST ²configVDR]#
Vous constaterez que le msg d'erreur "timeout" est insaisissable, car il apparait en haut de l'écran.
Je cherche à le capturer dans une variable, de manière à détecter sa présence et afficher un msg :
si timeout absent : afficher "RAS"
si timeout présent : afficher " PB de TIMEOUT"

Pourriez-vous m'aider à debugger ?

Merci.