txts und Perl
|
Seitenanfang |
Ich schlage mich schon ne große große Weile mit dem Problem rum... ich habe ein keyword auf das er reagieren soll das tut er auch die keywordliste ist ne txt dateida steht dann computer = 1 zum beispiel wenn ich jetzt die antwort aus der antwort txt datei mit z.B. 1= Schmeiß deinen Computer aus dem fenster haben will wie zum Teufel geht das... Er muss also computer finden, das hab ich mit $ausdruck = quotemeta($ausdruck); gemacht aber so kann ich die werte ja nicht zuweisen lassen... HILFEEE Reicht das als Fragestellung? Danke Blue
Datum: 22.01.2005-19:06

|
re: txts und Perl
|
Seitenanfang |
quotemeta escaped in einen String Zeichen denen eine besondere Bedeutung zugeordnet ist indem es dem (Meta-)Zeichen einen Backslash voranstellt.Um dein Problem zu loesen kannst du die Datei in einer while-Schleife zeilenweise abgehen und einen Hash aus den Schluessel-Werte-Paar erstellen. while (<FH>) { chomp; s/#.*|^\s+|\s+$/; # Kommentare und Leerzeichen am Anfang und am Ende entfernen next unless length; # ueberspringen wenn Zeile leer my($key, $value) = split(/\s*=\s*/, $_, 2); # am Gleichheitszeichen aufteilen $antworten{$key} = $value; }print "$antworten{'computer'}\n";
Datum: 23.01.2005-03:39

|
re: txts und Perl
|
Seitenanfang |
| Ich probiers mal berichte dann über meine Erfolge.... Danke für die Antwort!!!!!!!
Datum: 23.01.2005-12:33

|
kriege das in dieses Programm aber irgendwie nicht rein...
|
Seitenanfang |
#!usr/bin/perl -wprint "Hello my name is Eliza. Please state your problem. Or 'bye' to quit.\n"; chomp($ausdruck = <STDIN>); open(DATEI,"vtext.txt")or die"Cannot open vtext.txt\n"; @datei = <DATEI>; $ausdruck = quotemeta($ausdruck); foreach(@datei) { if(/$ausdruck/) { $ergebnis = 1; last; } } if($ergebnis) {#Protokollierung open(SPEICHER1,">>Protokoll.txt") || die "Error >"; print SPEICHER1 "$ausdruck\n"; print "So you have problems with...!\n" } elsif ($ausdruck eq "bye") {print "If you think you need no therapy..!\n"} else { print "State your Problem!\n" };
Datum: 23.01.2005-13:18

|
re: kriege das in dieses Programm aber irgendwie nicht rein...
|
Seitenanfang |
Musst wohl doch etwas ausfuehrlicher in deinen Beschreibungen werden (komme nicht so dahinter was es denn genau tun soll). Was wird eingegeben (IMMER nur _ein_ Keyword oder mehrere Angaben?), was soll damit gemacht werden (sollen die passenden Zeilen nur festgehalten werden { deine Protokollierung ?}), was soll letztendlich das Ergebnis sein, ... bzw. was fuer Aufgaben uebernimmt dein Script.
Datum: 24.01.2005-16:42

|
re: kriege das in dieses Programm aber irgendwie nicht rein...
|
Seitenanfang |
Die Protokollierung ist eher unwichtig... Also bei dem Programm handelt es sich um einen Eliza Klon http://www-ai.ijs.si/eliza/eliza.html User gibt ein I have problems with computer Programm reagiert auf computer als keyword aus keyword.txt dann antwortet es aus Antwort.txt You have problems with computers? Dabei haben das keyword und die Antwort den gleichen Schlüssel Dann wenn kein keyword eingegeben wurde sollte es eine gegenfrage unter einbeziehung des rests stellen... Bsp: I have a dog Programm: you have a dog? i have und you have stehen in der umwandlungs.txt er muss dann also a dog als rest erkennen... Wir können uns gerne mal online treffen, bei icq o.ä. dann kann ich dir das nochmal genauer erklären... Supernett dass du mir helfen willst... sollte das zum Erfolg führen kriegst ein Geschenk von mir!!
Datum: 24.01.2005-18:00

|