2010-03-03 8 views
4

Quel est un moyen facile de fournir une valeur de chaîne à mon utilisateur et laisser l'utilisateur l'éditer ... sans qu'il ait à retaper la chaîne entière si elle n'est pas 100% correcte.Interactif interactif en perl

Répondre

8

Bien qu'il soit difficile de dire avec certitude ce que vous demandez, vous voulez probablement Term::ReadLine.

+0

Et si vous avez GNU Readline disponible, n'oubliez pas d'installer Term :: ReadLine :: Gnu (alors Term :: ReadLine l'utilisera à la place). – oylenshpeegul

+0

Si vous utilisez Term :: ReadLine :: Gnu et que vous distribuez votre programme, vous devez distribuer votre programme selon les termes de la GPL. – jrockway

+0

Non-sens. On doit le faire lors de la distribution de libreadline, mais presque personne ne le fait. Au lieu de cela, les utilisateurs pointent simplement vers Term :: ReadLine :: Gnu (qui se trouve sous la double licence habituelle) dans leur méta-fichier de distribution, donc ils peuvent choisir quelque chose de différent. – daxim

3

Ou quelque chose d'un peu plus haut niveau, peut-être IO :: Invite

1

Ou si vous avez Perl 5.10.0 ou plus, essayez IO::Prompter (le successeur de IO :: PROMPT) de Damian Conway. Je voudrais pouvoir l'utiliser pour sa fonctionnalité de timeout, mais hélas je suis coincé sur Perl 5.8.8.