Guest Tomgibt es in Perl eine Möglichkeit dass man bei einer Eingabe via Terminal den Text, der eingegeben werden soll, bearbeitbar vorschlägt ?
QuoteDer Lehrstuhl wurde von König Georg III. gegründet, der sich mit der Chronologie beschäftigt hat. Georg III stellte die Fragen: "Gibt es irgendeinen Grund dafür, warum eine Sache NACH der anderen passiert?","Gibt es eine Möglichkeit, das aufzuhalten?" Da alle Professoren des Lehrstuhls gleich auf die Anworten Ja - Nein - Vielleicht kamen, war der Rest der Aufgabe leicht zu erfüllen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/perl use warnings; use strict; use X11::GUITest qw(SendKeys); use English; $OUTPUT_AUTOFLUSH = 1; print "Please enter something: "; SendKeys("Default entry"); my $input = <STDIN>; $OUTPUT_AUTOFLUSH = 0; chomp($input); print "\nYour input was: '$input'.\n\n";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#! /usr/bin/env perl use strict; use warnings; use 5.030; use Term::ReadLine; my $term = Term::ReadLine->new( "Beispiel" ); my $prompt = "Deine Eingabe: "; my $input = $term->readline($prompt, "Teest"); say "Du hast '$input' eingegeben."; __END__;
Quotecpan[2]> install Term::ReadLine::Gnu
Running install for module 'Term::ReadLine::Gnu'
Fetching with LWP:
http://www.cpan.org/authors/id/H/HA/HAYASHI/Term-R...
Fetching with LWP:
http://www.cpan.org/authors/id/H/HA/HAYASHI/CHECKS...
Checksum for /root/.cpan/sources/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.42.tar.gz ok
Configuring H/HA/HAYASHI/Term-ReadLine-Gnu-1.42.tar.gz with Makefile.PL
Warning (mostly harmless): No library found for -ltermcap
rlver.c:3:10: fatal error: readline/readline.h: Datei oder Verzeichnis nicht gefunden
3 | #include <readline/readline.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Could not compile rlver.c.
system(): No such file or directory
If you have installed the GNU Readline Library (libreadline.{a,so} and
readline/readline.h, etc.) on directories for which your perl is not
configured to search (refer the value of `ccflags' and `libpath' in
the output of `perl -V'), specify the paths as follows;
perl Makefile.PL --includedir=/yourdir/include --libdir=/yourdir/lib
or
perl Makefile.PL --prefix=/yourdir
Note that the GNU Readline Library version 2.0 and earlier causes error
here. Update it to version 2.1 and/or later.
Read INSTALL for more details.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
HAYASHI/Term-ReadLine-Gnu-1.42.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Failed during this command:
HAYASHI/Term-ReadLine-Gnu-1.42.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 256
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/perl use warnings; use strict; use Term::ReadLine; my $term = Term::ReadLine->new( "Beispiel" ); print "\n"; # Unterstreichen des Prompts ausschalten: $term->ornaments(0); for my $i (1 .. 10) { $term->addhistory("Teest $i"); } my $prompt = "Deine Eingabe: "; my $input = $term->readline($prompt, "Please press up"); print "\nDu hast '$input' eingegeben.\n\n";