Thread Anfängerfrage.. (11 answers)
Opened by liam21c at 2007-09-11 16:21

liam21c
 2007-09-11 16:21
#99332 #99332
User since
2007-09-11
5 Artikel
BenutzerIn
[default_avatar]
Hi ich hab gestern zum ersten mal in meinem leben ein perl skript geschrieben.

Das Skript soll ein Text einlesen, alle Wörter die in der Datei stopwords.txt gespeichert sind überspringen und dann die restlichen Wörter ins Hash %dependentWord speichern.
leider funktioniert der Vergleich

if($is_stopwords{$second}){
next;
}

irgendwie nicht und es werden alle vorkommenden Wörter gespeichert.
ch habe im Moment echt keine Ahnung woran es liegen könnte..
kann mir jemand helfen?
mfg,
liam21c

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/local/bin/perl -w

use strict;
use warnings;
my $miniparDir = "home/sat/minipar";
my @dataArray;
my $parsedMiniparOutput;
my $searchWord;
my %dependentWord;
my @stopwords;
my %is_stopwords;
$searchWord = $ARGV[0];

open(OPENSTOPW,'stopwords.lst');
my $var = 0;
while(<OPENSTOPW>){
        chomp;
        push @stopwords, ($_);
}
foreach(@stopwords){
        $is_stopwords{$_} = 1;
}
close(OPENSTOPW);
open(OPENMY,'minipar.txt');

while(<OPENMY>){
        ...
        my($firstWord,$relation, $secondWord)=split(/:/,$_);
        my($first,$firstPOS)=split(/\s/,$firstWord);
        my($secondPOS,$second)=split(/\t/,$secondWord);
        ...
        if($is_stopwords{$second}){
                next;
        }
        
        my $entry = "$relation $firstPOS $second $secondPOS";
        $dependentWord{$entry}++;
        
}
close(OPENMY);
print %is_stopwords, "\n";

View full thread Anfängerfrage..