On Mon, 18 May 2009, jeanluctux wrote:
> Patrick Dupre a écrit :
>> Bonjour,
>>
>> En perl, je fais un STDIN, est-ce qu'il y aurait un moyen pour que
>> le comportement d'un caractere de tabulation soit identique a
>> celui que j'ai en shell (cad, linux devine un nom de fichier
>> a partir des premieres lettres saisies) ?
>>
>> Merci.
>
> Pour avoir une ligne de commande :
> - remonter avec flèche dans les lignes historiques
> - edition de la ligne
> - etc...
> C'est vraiment le gnu-readline parce qu'une fois, j'étais parti sur un espèce de
> readline pas gnu, et ça merdouillait joyeusement.
>
> Voici :
> use Term::ReadLine;
> $term = new Term::ReadLine 'Simple Perl calc';
> $prompt = "Enter your arithmetic expression: ";
> $OUT = $term->OUT || STDOUT;
> my ($res, $l);
> $l="";
> while ( defined ($_ = $term->readline($prompt)) ) {
> $l= $_;
> if ( $_ =~ m/^quit/ ) { exit 0; };
> $res = eval($l);
> warn $@ if $@;
> print $OUT $res, "\n" unless $@;
> $term->addhistory($l) if /\S/;
> $l="";
> }
>
> Par contre, la fonction avec tabulation que tu cherches, c'est l'autocompletion.
> Je ne me suis jamais penché sur la question. Mais auto-complétion est le mot clef.
> Auto-complétion sur ton objet $term en quelque sorte .... c'est comme ça que je
> verrais les choses.
>
Merci.
Donc l'autocompletion fonctionne tres bien avec new Term::ReadLine::Gnu
et meme sans avoir a utiliser l'"history".
--
---
==========================================================================
Patrick DUPRÃ | |
Department of Chemistry | | Phone: (44)-(0)-1904-434384
The University of York | | Fax: (44)-(0)-1904-432516
Heslington | |
York YO10 5DD United Kingdom | | email: pd520@???
==========================================================================