Hallo liebes Perl Community,
Bin ein totaler NewBee was Perl und Programmieren angeht. Und möchte mich weiterentwickeln. Nur werde ich nicht schlauer :-(
Ich muss 2 Dateien vergleichen und Precision-Recall berechnen. Der Vergleich und Berechnungen funktionieren mit selbst erstellten Testdateien. Das eigentliche Problem ist das einlesen der beiden Dateien.
1.Ausgangsdatei besteht aus mehreren nummerierten Zeilen. 1 bis x sollte immer ein Satz bilden. zB
1 halte ......
2 an ......
3 ! .....
1 ich ....
2 - .....
3 bin ....
4 verzweifelt ....
5 . ...
.....
Ausgabe sollte immer das 2 Element nehmen und einen Satz bilden. Wenn ein - Zeichen kommt sollte es in die nächste Zeile springen.
Satz 1: Halte an !
Satz 2: Ich bin verzweifelt.
........
Die 1. Datei enthält xy Sätze ! # das mit dem zusammenzählen klappt :-)
Bei der 2Ausgangsdatei muss ich immer das 1 Element nehmen der nach einem <xx> kommt und einen Punkt setzten.
<xxxxx>
<xx>
suche .....
dir ......
Hilfe .......
<xxx>
<x>
" .....
wie .....
? .....
" ......
fragte....
sie ....
<xx>
Ausgabe:
Satz 1: Suche dir Hilfe .
Satz 2: " Wie ? " fragte sie.
Die 2 Datei enthät xy Sätze.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
open (INPUT, "<", $file1)
or die "Die Datei kann nicht geoeffnet werden ! $!\n";
print "\nDie Datei $file1 enthaelt folgende Saetze:\n\n";
wie kann ich eine for schleife
for ($i=0;$i<@array;$i++){
print "$array[$i]\n";
}
mit einer while ($file1=<INPUT>) { .... verbinden dass ich das erwünschte Ergebnis bekomme ? Sollte ich auch Array of Array benutzen oder gehts auch anders?
@eg1=split (" ", $file1,10);
push @AoA1, [@eg.......
}
close (INPUT);
$anzahl1 = $#AoA1+1;
print "\nDie Datei enthaelt ", $anzahl1," Saetze !\n\n";
ich freue mich auf eure Tipps.....
mfg
modedit Editiert von pq: code-tags hinzugefügt
Last edited: 2013-04-21 19:26:11 +0200 (CEST)