Perl tk [Résolu/Fermé]

Signaler
-
 Jamie Mac-Uloth -
Bonjour,

Je débute (jour zéro) en PERL TK, je n'arrive pas à trouver comment en cliquant sur un bouton, je peux modifier une variable.

Par exemple:

my $toto = 0;

Je veux que sur un clic bouton $toto = 1. J'utiliserai ensuite la valeur de toto pour que mon modèle face telle ou telle action.

Sur le net je ne vois que des exemples avec des appels de fonctions comme

$mw->Button(-text => "Done", -command => \&uneFonction)->pack;
Mais je ne vois pas par exemple en utilisant cette syntaxe comment faire que si uneFonction retourne $p_toto = 1 mettons, et ben que $toto récupère $p_toto.

Merci pour votre aide!

2 réponses

Messages postés
5541
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 mai 2021
933
Salut Jamie Mac-Uloth,

Si ta fonction est aussi simple que cela, tu peux l'insérer dans le code d'initialisation du bouton, au lieu de mettre une référence sur une fonction nommée à implémenter ailleurs.

Quelque chose comme cela :

$mw->Button(-text => "Done", -command => sub { $toto = 1; })->pack; 


Dal

Mais en fait oui, tout à fait. C'est juste que je ne savais pas que par défaut en Perl, les variables étaient des variables globales, vues dans une sub fonction. Cela résout mon problème!!
Merci beaucoup :)
Messages postés
5541
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 mai 2021
933
Les variables Perl sont globales si elles sont déclarées dans un scope global.

Si elles sont déclarées dans une sub, leur portée est limitée à la sub.
>
Messages postés
5541
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 mai 2021

Yes! Merci pour ces éclaircissements en tout cas Dal