User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Ich habe gerade erst angefangen mit Perl zu lernen. Ein Freund lieh mir dazu das Buch "Perl for Dummies" von Paul Hoffman, Ausgabe 2001. Im ersten Teil steht ein Beispiel das bei mir nicht so ganz funktioniert. Es geht dabei um ein kleines Programm das eine Textdatei ausliest, den Inhalt teilt und wo der User dann die einzelne Zeilen auf Inhalte durchsuchen kann (wie eine Datenbank halt). Jedoch funktionierte das Programm nicht. Das Konsolenfenster blieb einfach leer. Ich habe das Script dann wiederholt um einige Funktionen gekürzt um zu dem Schluss zu kommen dass das Programm an dieser Zeile scheitert: $DoSearch = <STDIN>; Vielleicht wurde das Buch ja für eine ältere Version von Perl geschrieben und wurde das Standard Input ersetzt. Wie fordere ich den User also dazu auf Input zu geben? Getestet wurde es jetzt unter Windows XP mit der neuesten ActivePerl-Installation (Perl 5.8). Als Editor verwenden ich den Visual Perl Editor, von wo aus ich auch die Programme im Konsolenfenster starte.
Datum: 23.12.2005-10:05

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Hi, der Befehl ist soweit der Richtige. Probier mal sowas wie
print "Gib was ein: "; my $DoSearch = <STDIN>; chomp $DoSearch; print "Du gabst: <<$DoSearch>> ein.\n";
Gruss, svenXY
Datum: 23.12.2005-10:24

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Das hat leider auch nicht hingehauen. Folgendes funktionierte: #!C:\Perl\bin\perl.exe print "Gib was ein: "; #my $DoSearch = <STDIN>; $DoSearch = 'blabla'; chomp $DoSearch; print "Du gabst: <<$DoSearch>> ein.\n"; Also wieder hängt er an STDIN. Könnte das an der Konfiguration liegen?
Datum: 23.12.2005-10:30

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Tets
Datum: 25.12.2005-13:56

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Ich habe es jetzt unter Linux getestet und es funktioniert. Also muss es an Windows, bzw. ActivePerl für Windows liegen. Jemand ne Idee?
Datum: 23.12.2005-10:58

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Hi, ich vermute, Du startest das Programm mit Doppelklick oder so. Versuch mal folgendes: Start->Ausführen, cmd eingeben und return drücken. In der command-line eingeben: perl c:\path\to\program.pl Dann sollte es gehen. Wenn nicht, hast Du ein ernsthaftes Problem, denn ohne STDIN siehts mau aus... Gruss, svenXY
Datum: 23.12.2005-11:13

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| bei mir geht es: C:\>perl -e "$a=<STDIN>;chomp $a;print 'Du gabst <<' , $a , '>> ein'" testline Du gabst <<testline>> ein Gruss, svenXY
Datum: 23.12.2005-11:18

|
re: User im Konsolenfenster zum Input auffordern?
|
Seitenanfang |
| Nach einer Neuinstallation hab ich's hinbekommen. Irgendwie komisch.
Datum: 23.12.2005-12:39

|