Perl Tk bind pour contrôler un while
	
	
		Bonjour,
Je cherche comment contrôler l'exécution d'un while en Tk :
- Des lignes provenant d'un fichier sont affichées à l'utilisateur,
- Plutôt que de placer une tempo dans la boucle, je souhaite que l'utilisateur affiche ligne par ligne en cliquant sur le widget ET/OU en faisant un <Return>.
- J'arrive à générer un évènement sur <Button-1> dans le widget mais pas à placer l'attente d'évènement dans le while.
Dans le petit extrait ci-dessous :
- Un <Return> (getc) sur la console permet de contrôler l'affichage ligne par ligne dans le widget, mais ce n'est pas pratique et pas du tout opérationnel si le widget est en plein écran.
- Un clic sur <Button-1> sur le widget génère bien un évènement (print "Clic) sur la console, lorsque je mets le getc en commentaire...
Je n'arrive pas à lier le tout, c'est à dire à placer une attente d'évènement dans le while qui contrôle le {next}
Pouvez-vous m'aider, ça fait plusieurs jours que je sèche...
MERCI d'avance !!!
	Code:
	
| 12
 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
 
 | #!/usr/local/bin/perl
# Essai bind.pl
use Tk;
use strict;
 
my $Wm = new MainWindow(
	-title      => "Petit essais",
);
 
my $TextIn = $Wm->Scrolled("Text",
	-height => 9,
	-width => 20,
	-scrollbars => "e",
	-wrap => "word",
	-background => "#ABFAA3",
)->pack(-side => 'bottom', -pady => 5, -padx => 5, -fill => 'both', -expand => 0);
 
my $Char = "";
 
# association physique
$Wm->bind('<ButtonRelease-1>' => \&Suite);
 
Prog ();
 
MainLoop;
 
sub Prog {
	$TextIn->delete("1.0", "end");
	$TextIn->insert( "end", "TOTO\n" );
	while(<DATA>){
		$TextIn->insert( 'end', $_ );
		$TextIn->update;
		$TextIn->see('end');
		print "$_\n";
		$Char = getc;
		# A la place du getc il faut une attente d'évènement sur <ButtonRelease-1> et/ou <Return>
	}
}
 
sub Suite {
	print ("Clic\n");
	# A la place du print, il faut un {next} dans le while 	 
}
 
__DATA__
Ligne 1
Ligne 2
Ligne 3
Ligne 4 |