Willkommen! Einloggen Ein neues Profil erzeugen

erweitert

blatt 7, aufgabe 2: txt-datei einlesen

geschrieben von ann-kathrin 
blatt 7, aufgabe 2: txt-datei einlesen
03.06.2010 17:23:54
meine programme funktionieren, wenn ich selbst wörter per STDIN eintippe, wenn ich jedoch die textdatei mit "<words.txt" einlese, bleibt das programm einfach stehen, es läuft nicht weiter. woran könnte das liegen?
Re: blatt 7, aufgabe 2: txt-datei einlesen
03.06.2010 18:04:16
Wenn du den Inhalt der Datei "words.txt" in eine Array-Variable gespeichert hast (Folieseiten 60,61), müsstest du den Inhalt mit "print" ausgeben. Wenn das klappt, dann liegt das Problem nicht an "<words.txt". Endet das Programm überhaupt nicht oder ist kein Ergebnis da? Wenn das Programm überhaupt nicht endet, heißt das, dass eine Schleife nicht abbricht. Wenn es so ist, muss man die Abbruchbedingung überprüfen. Der zweite Fall könnte z.B auftreten, wenn man if-Konstrukt ohne den else-Teil verwendet. Allerdings wird die if-Bedingung nie wahr.
Re: blatt 7, aufgabe 2: txt-datei einlesen
03.06.2010 18:44:23
Mach doch einfach folgendes:

open F, "meineeinlesedatei.txt";
@eingabe = <F>;
close F;

Das bewirkt dasselbe wie wenn Du @eingabe = <STDIN> im Programm schreibst und das Programm dann mit "perl skript.pl <meineeinlesedatei.txt" aufrufst.

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme
Re: blatt 7, aufgabe 2: txt-datei einlesen
04.06.2010 17:12:46
ich habe es jetzt mit open und close probiert, was zum selben resultat führt: es passiert gar nichts. das programm läuft wohl, wird aber beendet, ohne dass ein ergebnis angezeigt wird.

wenn ich per STDIN selbst einige wörter eintippe, funktioniert alles, die richtigen wörter werden erkannt! ich habe das gefühl, dass der inhalt der textdatei nicht wirklich erkannt wird?!?
Re: blatt 7, aufgabe 2: txt-datei einlesen
04.06.2010 17:15:54
Schick mir mal das Programm und Deine Testdatei per Mail.

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme
Sorry, Sie haben nicht die erforderliche Berechtigung, um in diesem Forum zu schreiben.