Term::UI, get_reply et choix par defaut
Le
Eric C.
Bonjour à tous,
J'obtiens un comportement etrange de la part de la methode get_reply
avec le code suivant :
use strict;
use warnings;
use Term::UI;
use Term::ReadLine;
my @valeurs = (86,81);
my $term = Term::ReadLine->new('epaisseur');
my $choice = $term->get_reply(
print_me => 'Epaisseur en mm ?',
prompt => 'Votre reponse : ',
choices => \@valeurs,
default => $valeurs[0],
);
La reponse par defaut qui m'est proposée est bien la première de la
liste @valeurs, mais si je valide sans repondre explicitement,
j'obtiens le message "Invalid selection, please try again". Je suis
obligé de répondre explicitement pour que le choix soit bien pris en
compte.
Merci à tous ceux qui ont un fragment d'explication
Eric
J'obtiens un comportement etrange de la part de la methode get_reply
avec le code suivant :
use strict;
use warnings;
use Term::UI;
use Term::ReadLine;
my @valeurs = (86,81);
my $term = Term::ReadLine->new('epaisseur');
my $choice = $term->get_reply(
print_me => 'Epaisseur en mm ?',
prompt => 'Votre reponse : ',
choices => \@valeurs,
default => $valeurs[0],
);
La reponse par defaut qui m'est proposée est bien la première de la
liste @valeurs, mais si je valide sans repondre explicitement,
j'obtiens le message "Invalid selection, please try again". Je suis
obligé de répondre explicitement pour que le choix soit bien pris en
compte.
Merci à tous ceux qui ont un fragment d'explication
Eric

Poser une question


my @valeurs = (86,81);
Le tableau ne doit pas contenir d'entier, car le prompt s'attends à ce
que tu lui tape :
1 pour choix 1
2 pour choix 2
etc
or dans ton cas, par défaut, c'est 86 et 86 ne représente rien dans
les choix. Donc, c'est une limite ou bug du module.
Si tu mettais my @valeurs = (' 86 ',' 81 '); comme par hasard, ça
fonctionne mieux :-) !!
Genomart
Merci !
Eric