perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




11.02.2012 / 07:10

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragUser 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

Beitragre: 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

Beitragre: 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

Beitragre: User im Konsolenfenster zum Input auffordern?
Seitenanfang
Tets

Datum: 25.12.2005-13:56

Beitragre: 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

Beitragre: 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

Beitragre: 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

Beitragre: User im Konsolenfenster zum Input auffordern?
Seitenanfang
Nach einer Neuinstallation hab ich's hinbekommen. Irgendwie komisch.

Datum: 23.12.2005-12:39

-






-
-