Mein erster Gedanke war auch
Term::ReadLine.
Ich habe es allerdings noch nicht hinbekommen, "Eingaben" vorzudefinieren; wie also hier mit "Tomas" vozubelegen, damit es der Benutzer korrigieren kann.
Auch mit Deinem Beispiel funktioniert es bei mir nicht.
edit: Aber das liegt hier vielleicht auch an einem System mit eingeschränktem Funktionsumfang.
edit2:
Die Funktionsweise hängt mit dem verwendeten Backend zusammen.
Term::ReadLine::Stub - welches mir auf dem eingeschränkten System zur Verfügung steht - bringt diese Funktion nicht mit.
Auf einem anderen System funktioniert es - und es verwendet im Hintergrund
Term::ReadLine::Gnu.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use 5.010.000;
use Term::ReadLine;
my $term = Term::ReadLine->new("xyz");
say "Using " . $term->ReadLine;
my $predefined = "Tomas";
my $answer = $term->readline( "Check that name: ", $predefined );
say "Your answer was: $answer";
__END__
Using Term::ReadLine::Gnu
Check that name: Tomas
Your answer was: Thomas
edit3: Mit
Term::ReadLine::Perl als Backend funktioniert es auch.
Last edited: 2015-02-21 11:33:25 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!