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.
Bonne chance.
Dis-nous le fruit de ta recherche, ça m'intéresse.
Jean-Luc.