Bonjour, j'ai récupéré un script sur le site suivant http://lionel.romain.free.fr/tlist.html, qui propose un cours sur perl tk, mais lorsuqe je test le script qui est présenté :

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
use Tk ;
use Tk::TList;
 
@villes = qw ( Rouen Caen Cherbourg Bayeux Carentan Lisieux Falaise Argentan Saint-Lô Granville ) ;
 
sub ChoixVille
{
   print "Ville choisie : " , $villes[$lt_villes -> info ( selection )] , "\n" ;
}
 
# main
 
$fenetre = new MainWindow ( ) ;
$fenetre -> title ( 'Villes' ) ;
 
$lt_villes = $fenetre -> TList ( 
                                 -orient => 'vertical' , 
                                 -selectmode => 'single' ,
                                 -command => \&ChoixVille 
                         );
 
foreach $ville ( @villes )
{
  $lt_villes -> insert ( 'end' , -itemtype => 'text' , -text => $ville ) ;
}
$lt_villes -> pack ( -expand => 1 , -fill => 'both' ) ;
 
MainLoop ( ) ;
j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Use of reference "ARRAY(0x1ab8d2c)" as array index at TKList.pl line 8.
je ne comprends pas le fait que cette instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$villes[$lt_villes -> info ( selection )]
ne fonctionne pas alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 print $lt_villes -> info ( selection )
me donne bien l'indice de l'element sur lequel je double clique (0,1 ou 2 etc.);

par conséquent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$villes[$lt_villes -> info ( selection )]
devrait être égale à si je clique sur le premier element, 1 sur le second etc.

Merci

Je suis sous windows vista / activeperl 5.8.8