Thread Wörterliste addiert sich (6 answers)
Opened by Clubcola at 2018-02-06 18:01

Clubcola
 2018-02-06 18:01
#187976 #187976
User since
2015-12-23
4 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe ein Script, welches aus einem Text $beschr1 alle Wörter nach Vorkommen zählen und dementsprechend sortieren soll. Das klappt soweit. Nur wird bei mehreren Texten in einer Schleife das Array immer größer. Wenn ich das richtig sehe zählt er die Wörter des vorherigen Schleifendurchlaufs mit.

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
$anfrage = "SELECT * FROM artikel";
&datenbank;

$ergebnisse = $sth->fetchall_arrayref( {beschr1 => 1, id => 1} );
foreach(@$ergebnisse)
{
    $beschr1 = $_->{beschr1};
    $id = $_->{id};
                
    ## Wörter in Array schreiben, zählen und nach Vorkommen sortieren

    push @liste, split /[^a-zA-ZäöüÄÖÜß-]/, $beschr1;
   
    foreach $wort (@liste) {            
        $wortliste{$wort}++;    
    }

    foreach $wort (sort keys %wortliste) {
        push (@neue_liste,"$wortliste{$wort}||$wort");  
    }

    my @sortierte_liste = sort { $b <=> $a } @neue_liste;

    print "<br>".@sortierte_liste;

}


Am Ende zeigt er mir pro Durchlauf die gespeicherten Elemente im Array, die sich pro Durchlauf immer weiter erhöhen.

Ich habe es versucht, alle strings und arrays vor dem nächsten Durchlauf zu leeren - bringt alles nichts.

Habt ihr eine Idee?

Danke

modedit Editiert von GwenDragon: Neu formatiert
Last edited: 2018-02-06 19:58:21 +0100 (CET)

View full thread Wörterliste addiert sich